最近在做Django项目 有一个新的需求是使用密钥进行身份验证 一开始我想的是用JWT去做 结果leader说不用做成动态的 CS两端商量好固定的密钥就好(==可见我手里的工作是多么不重要。。) 这样一来 难度一下子就下降了许多,我的想法就是在请求头里面加上自定义的信息。
比如说我使用postman去做请求的时候 在header中添加自定义信息
在Django中处理具体请求的时候,使用request.META.get(key)方法去获取header中key对应的value
值得注意的是官方文档里面有说明 Django获取自定义header信息的方法
- 所有header名大写,将连接符“-”改为下划线“_”
- 除了 CONTENT_LENGTH 和 CONTENT_TYPE,其他的头部在META字典中的key值都会被加上“HTTP_”的前缀
针对我的设置 应该使用下面代码去获取
request.META.get('HTTP_AUTH_TOKEN')