
轻松提取JWT Token中的用户ID
本文介绍如何从JWT (JSON Web Token) 字符串中提取用户ID。JWT由三个部分组成,用点号(.)分隔:头部、有效载荷和签名。有效载荷包含用户信息,例如用户ID、过期时间等,并以Base64编码。
以下步骤将指导您如何解密JWT并获取用户ID:
- 分割Token: 使用点号(.)将JWT字符串分割成三个部分:头部、有效载荷和签名。
- Base64解码: 对有效载荷部分进行Base64解码。
-
JSON解析: 解码后的有效载荷是一个JSON对象,从中提取
uid(或类似字段) 获取用户ID。
以下是一个Python代码示例:
import base64
import json
token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NjEyNzg0MDcsImlhdCI6MTU2MTI3NDgwNywiaXNzIjoiR29GdW5jIiwianRpIjoiOTUyNyIsInVpZCI6MSwidXNuIjoieXpoYTUifQ.fVvevhHHRhuUySRjSw-qMG3NEQqSdD9m6m1GBSD5u6o'
parts = token.split('.')
payload = parts[1]
decoded_payload = base64.b64decode(payload + "==") # 可能需要补全padding
claims = json.loads(decoded_payload)
user_id = claims['uid']
print(f"用户ID: {user_id}")
通过以上步骤,您可以成功地从JWT Token中提取用户ID。 请注意,实际的字段名称可能因JWT的具体实现而异,请根据您的JWT结构调整代码。 此外,代码中添加了+ "==" 用于处理Base64解码中可能缺失的padding字符。










