timmy ревизій цього gist 10 months ago. До ревизії
Без змін
timmy ревизій цього gist 10 months ago. До ревизії
Без змін
timmy ревизій цього gist 1 year ago. До ревизії
1 file changed, 24 insertions
jwt_token_generation_and_validation.py(файл створено)
| @@ -0,0 +1,24 @@ | |||
| 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 | + | ||
Новіше
Пізніше