JWT 解码器
什么是 JWT?
JSON Web Token (JWT) 是一种开放标准 (RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSON对象安全地传输信息。
头部 (Header)
头部通常由两部分组成:令牌的类型(即JWT)和所使用的签名算法,如HMAC SHA256或RSA。
{
"alg": "HS256",
"typ": "JWT"
}载荷 (Payload)
载荷包含声明(claims)。声明是关于实体(通常是用户)和其他数据的声明。
{
"sub": "1234567890",
"name": "张三",
"iat": 1516239022,
"exp": 1716239022
}签名 (Signature)
签名用于验证消息在传输过程中没有被更改,并且对于使用私钥进行签名的令牌,它还可以验证JWT的发送方是否为它所声称的发送方。
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
常见声明
iss (Issuer)
令牌的发行者
sub (Subject)
令牌的主题
aud (Audience)
令牌的接收者
exp (Expiration Time)
令牌的过期时间
nbf (Not Before)
令牌生效的时间
iat (Issued At)
令牌的发行时间
jti (JWT ID)
令牌的唯一标识符
使用场景
- 授权:这是使用JWT的最常见场景。一旦用户登录,每个后续请求将包括JWT,允许用户访问该令牌允许的路由、服务和资源。
- 信息交换:JWT是在各方之间安全传输信息的好方法,因为JWT可以被签名,所以你可以确定发送者是他们所说的人。
安全注意事项
- 不要在JWT的载荷中存储敏感信息,因为它可以被解码。
- 使用HTTPS来防止中间人攻击。
- 设置合理的过期时间。
- 使用强密钥来签名你的JWT。