1.使用rest_framework_jwt

from rest_framework_jwt.settings import api_settings
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
payload = jwt_payload_handler("存储的信息")
token = jwt_encode_handler(payload)

这种方式相比较另外一种方式比较简单,但这种方式生成的token无法根据我们的需求设置过期时间,界限来的一种方法可以为token设置过期时间。

2.使用TimedJSONWebSignatureSerializer

from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
from django.conf import settings # serializer = Serializer(秘钥, 有效期秒)
serializer = Serializer(settings.SECRET_KEY, 300)
# serializer.dumps(数据), 返回bytes类型
token = serializer.dumps({'mobile': '18512345678'})
token = token.decode() # 检验token
# 验证失败,会抛出itsdangerous.BadData异常
serializer = Serializer(settings.SECRET_KEY, 300)
try:
data = serializer.loads(token)
except BadData:
return None

  这种方式可以生成一个具有时效的token,我们可以根据需求悬着相应的方法

  

最新文章

  1. Java for LintCode 颜色分类
  2. Gson 解析列表
  3. 喝咖啡写脚本,顺便再加一点点CSS语法糖 2.五分钟学会Less
  4. c# 数据库操作学习
  5. CentOS6.5+php5.3听云安装过程
  6. vi编辑器使用介绍
  7. Problem E: Erratic Ants
  8. JSP通用7动作命令
  9. MySQL的char和varchar
  10. 201521123102 《Java程序设计》第1周学习总结
  11. 2017ecjtu-summer training #2 CodeForces 608B
  12. JavaScript(第二十一天)【DOM元素尺寸和位置】
  13. ucloud发送短信的php sdk
  14. 一文了解Python的线程
  15. mysql 关于数据库和数据表的基本操作
  16. CUDA 计算线程索引的一般公式
  17. [JavaScript] Frequently used method or solutions for issues
  18. python 实践项目
  19. 浅谈ESB中的DataRow、DataSet、DataBag 、DataBox
  20. BZOJ 4009: [HNOI2015]接水果

热门文章

  1. 02-11Android学习进度报告十一
  2. 学习笔记(5)- ubuntu对话语料
  3. Linux服务器yum安装mysql
  4. Linux kali安装或更新之后出现乱码
  5. 前端开发中的 MVC、MVP、MVVM 模式
  6. python实现队列(queue)
  7. 安装luarocks安装驱动
  8. 吴裕雄--天生自然TensorFlow2教程:全连接层
  9. Codeforces Round #585 (Div. 2)E(状态压缩DP,思维)
  10. Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)D(树状数组)