使用itsdangerous生成臨時身份令牌
準備工作:
安裝pip install itsdangerous
import itsdangeroussalt='sdaf'#加鹽,指定一個鹽值,別讓別人知道哦,否則就可以解密出來了
t=itsdangerous.TimedJSONWebSignatureSerializer(salt,expires_in=600)#過期時間600秒# ==============如何加密==================
res=t.dumps({'username':'yangfan','user_id':1})# 在t中加入傳輸的數據
token=res.decode()#指定編碼格式
print(token)
# 得到的數據如下,就是包含數據和鹽值的token了,只有在知道鹽值的時候才能被解密出來
# eyJhbGciOiJIUzUxMiIsImlhdCI6MTU0MTgxOTcyMCwiZXhwIjoxNTQxODIwMzIwfQ.eyJ1c2VybmFtZSI6InlhbmdmYW4iLCJ1c2VyX2lkIjoxfQ.VjCgry9Sr-4iRsK_MHYThcn_O7js9BERrXzocc7BI1aavC3N3s3e0wWMsvq2-Qp-ol_WNMD23wxiYRrA1kwCbg# ======================加密的數據如何解析=================
res=t.loads('eyJhbGciOiJIUzUxMiIsImlhdCI6MTU0MTgxOTcyMCwiZXhwIjoxNTQxODIwMzIwfQ.eyJ1c2VybmFtZSI6InlhbmdmYW4iLCJ1c2VyX2lkIjoxfQ.VjCgry9Sr-4iRsK_MHYThcn_O7js9BERrXzocc7BI1aavC3N3s3e0wWMsvq2-Qp-ol_WNMD23wxiYRrA1kwCbg')
print(res)
# 返回的數據如下:
# {'username': 'yangfan', 'user_id': 1}
# 我們試一下將解析的數據改一個字母,或者超過了過期時間