关于JWT令牌结构的解释
我试图理解JWT代币的用法,但我在理论部分迷失了方向 我对JWT代币的结构有一些疑问,为了让这个问题成为新用户的一种文档,提供一个逻辑顺序,我将在下面用粗体写,只要我列出一个JWT内容示例。关于JWT令牌结构的解释,jwt,Jwt,我试图理解JWT代币的用法,但我在理论部分迷失了方向 我对JWT代币的结构有一些疑问,为了让这个问题成为新用户的一种文档,提供一个逻辑顺序,我将在下面用粗体写,只要我列出一个JWT内容示例。 我还将在问题的结尾对它们进行总结 一个“经典”JWT令牌的组成如下: [标题][有效负载][签名] 详细内容: 标题 { "alg": "HS256", "typ": "JWT" } 其中包含以下字段: ALG=加密算法(使用默认的HS256可以) TYP=仅表示它是JWT 有效载荷 {
我还将在问题的结尾对它们进行总结
一个“经典”JWT令牌的组成如下: [标题][有效负载][签名] 详细内容:
标题
{
"alg": "HS256",
"typ": "JWT"
}
其中包含以下字段:
- ALG=加密算法(使用默认的HS256可以)
- TYP=仅表示它是JWT
有效载荷
{
"sub": "1234567890",
"name": "MrJohnDoe",
"iat": 1516239022
}
- SUB=什么是SUB?你能告诉我一个常见用法的例子吗?
请参见下面的@CassioMazzocchiMolin答案 - SUB=是一个可选参数。这是代币的主题。(字幕:@CassioMazzocchiMolin)
根据:看起来你可以用它来存储你的用户ID - NAME=用户名
- IAT=令牌到期时间。它是用ms表示的吗?
感谢以下评论中的@jps和@JeanRostan。- IAT=令牌创建日期和时间,以unix时间戳表示
签名
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)
- “秘密”到底是什么?我应该使用用户密码作为密码吗?
感谢下面评论中的@jps。- SECRET=服务器只知道的唯一密钥。为避免与当前用户密码混淆,此密码不应用于此目的李>
sub
索赔确定了作为联合工作组主体的委托人。换句话说,它可以保存您向其颁发令牌的用户的用户名
从:
子索赔
(主体)确定了作为主体的主体
JWT的主题。JWT中的声明通常是声明
关于这个话题。subject值的作用域必须为
在发行人的上下文中是本地唯一的,或者是全球唯一的。
本索赔的处理通常是针对具体应用的。这个
sub
值是包含StringOrURI的区分大小写的字符串
价值此声明的使用是可选的
什么是子代码?你能给我举一个常见用法的例子吗
sub
索赔确定了作为联合工作组主体的委托人。换句话说,它可以保存您向其颁发令牌的用户的用户名
从:
子索赔
(主体)确定了作为主体的主体
JWT的主题。JWT中的声明通常是声明
关于这个话题。subject值的作用域必须为
在发行人的上下文中是本地唯一的,或者是全球唯一的。
本索赔的处理通常是针对具体应用的。这个
sub
值是包含StringOrURI的区分大小写的字符串
价值此声明的使用是可选的
iat是unix时间戳,它表示自1970-01-01 00:00:00 UTC()以来经过的秒数,因此它是指示令牌不再有效的日期。JWT令牌上的wiki页面很可能会回答您的问题:阅读时间戳格式。IAT在时发出,即创建令牌时的时间戳。过期时间在exp声明中。机密是用于签名的密钥。您不应该使用用户密码。这个秘密只能在服务器端知道。@Deadpool你是说iat和exp?这仅仅是两个不同的声明,一个是关于创建时间,另一个是关于它的生命主体的结束,即令牌被颁发给谁。iat是unix时间戳,它表示自1970-01-01 00:00:00 UTC()以来经过的秒数,因此它是指示令牌不再有效的日期。JWT令牌上的wiki页面很可能会回答您的问题:阅读时间戳格式。IAT在时发出,即创建令牌时的时间戳。过期时间在exp声明中。机密是用于签名的密钥。您不应该使用用户密码。这个秘密只能在服务器端知道。@Deadpool你是说iat和exp?这仅仅是两种不同的说法,一种是关于创造的时间,另一种是关于它的生命主体是谁,代币是发给谁的。谢谢!所以不需要了,很好!在此期间,我进行了深入的搜索,发现了一个谣言,说“你可以使用sub来存储你的唯一用户ID”。您认为这是一个正确的用法吗?@Deadpool是的,它适用于唯一的用户标识符。谢谢!所以不需要了,很好!在此期间,我进行了深入的搜索,发现了一个谣言,说“你可以使用sub来存储你的唯一用户ID”。您认为这是正确的用法吗?@Deadpool是的,它适合于唯一的用户标识符。