首页 > 其他分享 >【翻译】4.1. 已注册的声明的名字

【翻译】4.1. 已注册的声明的名字

时间:2023-02-12 13:22:41浏览次数:114  
标签:翻译 4.1 必须 签发 JWT 注册 字符串 声明

原文链接: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

相关文章

  • 爆火Chatgpt注册 chatgpt使用 Chatgpt快速注册 Chatgpt快速能上手 Chatgpt简单入手 Ch
    爆火Chatgpt注册chatgpt使用Chatgpt快速注册Chatgpt快速能上手Chatgpt注册成功Chatgpt成功使用国内成功Chatgpt申请成功Chatgpt注册成功指南2......
  • fusion app登录注册示例
    一、前言在常见的app中,需要用户登录后才能使用app,本节我们使用fusionapp制作一个登录页面,登录成功之后再跳转到app主页。二、准备工作下载水仙app和fusionapp重制版,在......
  • C# 软件注册和注册机
    (一)软件的实现:SoftReg类:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Management;//需要引用S......
  • Hive 面试题——设计一个1~60天的注册、活跃留存表
    需求描述现有一个用户活跃表user_active(user_id,active_date)、用户注册表user_regist(user_id,regist_date),表中分区字段都为dt(yyyy-MM-dd),用户字段均为user_id;设计一......
  • bbs项目:注册功能、登录功能
    目录一、项目开发基本流程二、项目流程仿造博客园项目(bbs项目)分析表分析三、前期准备四、注册功能五、登录功能六、作业一、项目开发基本流程1.需求分析2.架构设计3.分......
  • Nacos服务注册与发现
    预备知识:SpringCloudAlibaba项目搭建流程1使用1.1Nacos服务器参考文档:Nacos快速开始。。在公司中,Nacos服务器一般不用我们开发人员去搭建。但是在学习时,需要在本......
  • java 手动生成jni头文件(JNI静态注册)
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • c++登录注册功能实现代码
    //ConsoleApplication26.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。////#define_CRT_SECURE_NO_WARNINGS#define_CRT_NONSTDC_NO_DEPRECATE#includ......
  • HTML_综合注册页面
    <!--该部分为html综合的作业,综合注册页面--><!DOCTYPEhtml><html><head><title>注册界面</title></head><body><formaction=""method=""><ta......
  • ChatGPT简单注册
    首先来张效果图  下面开始正式步骤特别注意,如果第一次在浏览器上操作,请首先打开代理,然后再去操作,不然会提示你的国家区域不支持请记住操作前先把代理打开,同时了解......