最終更新 10 months ago

這段 Python 程式碼使用 JWT(JSON Web Token)來實現 身份驗證與授權。它首先根據 使用者資訊(ID、帳號)及 自訂金鑰 生成一個 有效期限為 30 分鐘 的 JWT,然後透過相同的金鑰來驗證 Token 的有效性,並解碼出原始資料。此機制適用於 使用者登入授權、API 驗證及安全通信,可確保請求的合法性並防止未授權的存取。

修正履歴 9d608195ab8a6facfcc2ac1bd3d1af57347ca7bd

jwt_token_generation_and_validation.py Raw
1import jwt
2import datetime
3
4# 假設的使用者資訊
5user = {
6 'id': 123,
7 'username': 'exampleUser'
8}
9
10# 生成 JWT
11secret = 'your_secret_key'
12token = jwt.encode({'user': user, 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=30)}, secret, algorithm='HS256') # 使用自訂的密鑰
13
14print('生成的 JWT:', token)
15
16# 驗證 JWT
17try:
18 decoded = jwt.decode(token, secret, algorithms=['HS256']) # 使用相同的密鑰進行驗證
19 print('驗證成功,解碼後的內容:', decoded)
20except jwt.ExpiredSignatureError:
21 print('Token已過期')
22except jwt.InvalidTokenError:
23 print('無效的Token')
24
25