1.使用rest_framework_jwt
1 2 3 4 5 | 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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,我们可以根据需求悬着相应的方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!