使用jwt
json web token
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准
jwt是保存在前端浏览器中
jwt分为三部分
前部分是bas64来解码的
头部(header)
载荷(payload)
签名(signature)
JWT在django中如何使用
djangorestframework-jwt的配置+django自带的验证系统
JWT优势
因为json的通用性,所以JWT是可以进行跨语言支持的,像JAVA,JavaScript,NodeJS,PHP等很多语言都可以使用。
因为有了payload部分,所以JWT可以在自身存储一些其他业务逻辑所必要的非敏感信息。
便于传输,jwt的构成非常简单,字节占用很小,所以它是非常便于传输的。
它不需要在服务端保存会话信息, 所以它易于应用的扩展
JWT的劣势
保护好secret私钥,该私钥非常重要。
一旦token泄露,在有效期内任何人都可以使用该token进入系统,且不可撤回
JWT安全要求
不应该在jwt的payload部分存放敏感信息,因为该部分是客户端可解密的部分。
如果可以,请使用https协议(https和http的区别)