JSON Web Token 方案详解
JSON Web Token(JWT)是一种开放标准(RFC 7519),用于在网络应用环境中以简短的方式安全地传递信息。JWT 常用于身份验证和信息交换,因其紧凑性和自包含性,广泛应用于现代 Web 应用程序和单页面应用(SPA)中。
JWT 的基本结构
JWT 由三部分组成,每一部分之间用句点(.)分隔:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=6d7eb736a6e247de9f70be5f01a2ae73
头部(Header): 通常由两个部分组成:
typ:令牌类型,一般为 "JWT"。
alg:签名算法,例如 HS256(HMAC SHA-256)或 RS256(RSA SHA-256)。
示例:
{
"alg": "HS256",
"typ": "JWT"
}
经过 Base64Url 编码后,生成 JWT 头部。
载荷(Payload): 载荷中包含声明(claims),声明是关于实体(通常是用户)和其他数据的键值对。常见的声明有:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=6d7eb736a6e247de9f70be5f01a2ae73#牛客AI配图神器#
注册声明:包含一些预定义的声明,如 sub(主题)、exp(过期时间)、iat(发行时间)等。
公共声明:可定义自己的声明,需避免与其他人冲突。
私有声明:自己定义的声明,适用于特定场景。
JWT 的基本结构
JWT 由三部分组成,每一部分之间用句点(.)分隔:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=6d7eb736a6e247de9f70be5f01a2ae73
头部(Header): 通常由两个部分组成:
typ:令牌类型,一般为 "JWT"。
alg:签名算法,例如 HS256(HMAC SHA-256)或 RS256(RSA SHA-256)。
示例:
{
"alg": "HS256",
"typ": "JWT"
}
经过 Base64Url 编码后,生成 JWT 头部。
载荷(Payload): 载荷中包含声明(claims),声明是关于实体(通常是用户)和其他数据的键值对。常见的声明有:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=6d7eb736a6e247de9f70be5f01a2ae73#牛客AI配图神器#
注册声明:包含一些预定义的声明,如 sub(主题)、exp(过期时间)、iat(发行时间)等。
公共声明:可定义自己的声明,需避免与其他人冲突。
私有声明:自己定义的声明,适用于特定场景。
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享