python Web生成token的幾種方法,你確定不進來看看?


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,我們可以根據需求懸着相應的方法

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM