原文链接:RFC 7519: JSON Web Token (JWT) 4.1. Registered Claim Names
前言:由于对JWT中的声明不太了解,所以翻译JWT官方文档中有关已注册的声明的部分。以下是正文。
以下声明的名字已在章节10.1确立的IANA“JSON网络令牌声明”注册中心注册。它们都不强制使用。使用JWT的应用程序应该定义自己使用的声明,以及这些声明是必需的还是可选的。声明的名字都很短,因为JWT的主要目标之一是紧凑。
4.1.1. “iss”(签发者)声明
“iss”(签发者)声明指明了JWT的签发者。不同的应用对此声明有不同的处理方式。“iss”的值是一个区分大小写的StringOrURI字符串。此声明不是必须的。
4.1.2. “sub”(主体)声明
“sub”(主体)声明指明了JWT的主体。JWT中的声明通常都是对此主体的描述。主体的值要么在签发者处惟一,要么全局惟一。不同的应用对此声明有不同的处理方式。“sub” 的值是一个区分大小写的字符串,此字符串包含一个StringOrURI值。此声明不是必须的。
4.1.3. “aud”(受众)声明
“aud”(受众)声明指明了JWT的解读者。每个要解读JWT的主体必须将自身写入受众声明。如果处理声明的主体发现JWT中包含“aud”声明且没在“aud”声明中找到与自身匹配的值,则必须拒绝该JWT。一般情况下,“aud”的值是一个区分大小写的字符串数组,每个字符串包含一个StringOrURI值。特殊情况下,当JWT只有一个受众时,“aud”值可以是一个区分大小写的字符串,包含一个StringOrURI值。不同应用可以按自己的方式解读受众的值。此声明不是必须的。
4.1.4. “exp”(过期时间)声明
“exp”(过期时间)声明指明了JWT的过期时间,在此时间后它不能再被处理。规范要求当前日期/时间必须在“exp”声明的过期日期/时间之前。由于时钟可能有偏差,实现者可以留有小小余地,通常不超过几分钟。它的值必须是一个包含NumericDate值的数字。此声明不是必须的。
4.1.5. “nbf”(生效时间)声明
“nbf”(not before)声明指明了此JWT能开始接收处理的时间。“nbf”声明的处理要求当前日期/时间必须在“nbf”声明的日期/时间之后或与之相等。由于时钟可能有偏差,实现者实现者可以留有小小余地,通常不超过几分钟。它的值必须是一个包含NumericDate值的数字。此声明不是必须的。
4.1.6. “iat”(签发时间)声明
“iat”(签发时间)声明指明了JWT签发的时间。此声明可用于计算JWT的年龄。它的值必须是一个包含NumericDate值的数字。此声明不是必须的。
4.1.7. “jti”(JWT ID)声明
“jti”(JWT ID)声明为JWT提供了唯一的标识符。必须确保相同的值分配给不同数据对象的概率小到忽略不计;如果应用有多个签发者,多个签发者的值不能相同。“jti”的声明可以防止JWT重播。jti是区分大小写的字符串。此声明不是必须的。
其他选译部分
2 术语
StringOrURI
一种有额外要求的JSON字符串值。额外要求是:可以使用任意字符串值,但当包含“:”字符的值必须是URI [RFC3986]。StringOrURI值在比较时要区分大小写,而且不需要转换或规范化。
NumericDate
一个JSON数值,表示从1970-01-01T00:00:00Z UTC到指定的UTC日期/时间的秒数,忽略闰秒。这相当于IEEE Std 1003.1, 2013版[POSIX. 1]定义的“自纪元以来的秒数”,每一天都是86400秒,另外,此值可以为非整数。参见RFC 3339 [RFC3339]了解日期/时间的一般细节和UTC的特别细节。
Registered Claim Names标签:翻译,4.1,必须,签发,JWT,注册,字符串,声明 From: https://www.cnblogs.com/cnblog-user/p/17113697.html