10 min read
JWT 令牌详解 — 完整指南
关于 JSON Web Token 你需要知道的一切:结构、签名算法、验证和最佳实践。包含免费的在线 JWT 解析工具。
什么是 JWT?
JSON Web Token (JWT) 是一个开放标准(RFC 7519),用于在各方之间以 JSON 对象形式安全传输信息。JWT 常用于 Web 应用程序和 API 中的身份验证和授权。
JWT 由三部分组成:Header、Payload 和 Signature,用点分隔。结构看起来像:xxxxx.yyyyy.zzzzz
JWT 结构详解
Header:包含令牌类型('JWT')和签名算法(如 HS256、RS256)。Header 使用 Base64Url 编码。
Payload:包含声明——关于实体(通常是用户)的陈述和附加元数据。常见声明:'sub'(主题)、'iat'(签发时间)、'exp'(过期时间)、'iss'(签发者)。
Signature:通过使用密钥(HMAC)或私钥(RSA/ECDSA)对 header 和 payload 进行编码创建。签名用于验证令牌未被篡改。
JWT 最佳实践
始终使用 HTTPS 防止令牌在传输中被截获。
设置合适的过期时间('exp')——访问令牌短时效(15-60 分钟),刷新令牌可更长。
切勿在 payload 中存储敏感数据——它只是 Base64 编码,而非加密。
每次请求时使用正确的密钥或公钥验证签名。
使用 'aud'(受众)和 'iss'(签发者)声明限制令牌的使用范围。