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