Django从header请求头中的Authorization获取token验证数据

前言

之前使用django开发api接口时,约定是要每次请求都要带token这个参数,这样很不方便,最近学了vue,也使用了axios,发现在axios拦截器中可以设置每次请求头中增加一个Authorization属性,用它来自动携带token就很方便了

拦截器设置

代码:

axios.interceptors.request.use(config =>{
  console.log(config)
  /*为请求头对象添加Token验证的Authorization对象,就不用每次都在要传送的字段上加token了*/
  config.headers.Authorization=window.sessionStorage.getItem('token')
  return config
})

看过我之前文章的会知道,我是每次登录后将获取的token保存在本地的sessionStorage(会话存储)中,这里在每次请求时进行拦截,将token的值通过hearder的Authorization属性传递

后端接收设置

参考之前文章
我是在后端已经设置了每次请求都会进行token验证,以前是假设用户访问接口时会携带token这个参数,现在只需从每次请求的header中取就行了,方法很简单:
使用request.META.get(“headerkey”)来获取
例:
如果headerkey为Authorization,即headers={‘Authorization’:‘1234’}
应该使用request.META.get("HTTP_AUTHORIZATION")获取
headerkey中的小写转为大写,横线“-”转为下划线“”,并且加上前缀HTTP
尤其注意headerkey中不应该包含 HTTP前缀,以及符号"
",否则会取不到对应的值

 # token = request.query_params.get('token')
 # 改为
token = request.META.get("HTTP_AUTHORIZATION")
  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值