JWT 全称是 JSON Web Token,是一种用于 在网络应用环境间安全传输声明信息(如用户身份) 的令牌格式。

JWT 是一个字符串,里面包含了经过签名的用户身份信息,服务器可以验证这个字符串的合法性,而不用存储 session。

WT 的结构(由三部分组成)

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. ← Header(头部)
eyJ1c2VyX2lkIjoxMjMsIm5hbWUiOiJhbGljZSJ9. ← Payload(载荷)
LxRj7sb6ehqvIoXJ4AlHuyJz8sRtHjdaT5yRKMpNMrY ← Signature(签名)

它由三段 Base64 编码的字符串拼接而成,每段之间用 . 分隔:

部分 内容说明
Header 描述算法类型(如 HS256)
Payload 实际携带的数据(如用户ID、角色、过期时间)
Signature 签名,防止篡改,验证 JWT 的完整性

Payload 示例(实际数据)

{
“user_id”: 123,
“username”: “alice”,
“exp”: 1723456000 // 过期时间(时间戳)
}

#生成 JWT

jwt.encode(payload, SECRET_KEY, algorithm=”HS256″)

在请求时发送给服务器,通常放在请求头:

Authorization: Bearer <JWT>

JWT 的注意事项

问题 说明
安全性 签名密钥不可泄露;使用 HTTPS 传输
不可撤销 一旦签发的 JWT 泄露,在过期前无法撤销(除非加入黑名单机制)
体积大 相比纯 token 或 session ID,体积大一些

 

作者 admin

百度广告效果展示