设为首页 加入收藏

TOP

OpenID Connect Core 1.0(九)声明(Claims)(一)
2019-09-17 17:35:05 】 浏览:73
Tags:OpenID Connect Core 1.0 声明 Claims

5 声明(Claims)

这一节说明客户端如何获取关于终端用户声明和验证事件。它还定义了一组标准的基本声明配置。预定义一组可请求的声明,使用特定的scope值或能用于请求参数中的个人声明。声明可以直接来自OpenID提供者或分布式来源。

 

5.1 标准声明(Standard Claims)

这个规范定义了一组标准的声明。他们可以请求的返回或用户信息的响应,此在 5.3.2节或在第二节中的ID Token。

sub string

在发行人终端用户的主体标识符。

name  string

终端用户的全名,显示的形式包括所有名称部分,可能包括标题和后缀,根据终端用户的区域设置和偏好排序。

given_name string

名字(s)或终端用户的名字(s)。注意,在一些文化中,人们可以有多个名字; 都可以存在,名字被空格字符分开。

family_name string

姓(s)或终端用户的姓(s)。注意,在一些文化中,人们可以有多个家庭的名字或没有姓; 都可以存在,名字被空格字符分开。

middle_name string

终端用户的中间名(s)。注意,在一些文化中,人们可以有多个中间的名字; 都可以存在,名字被空格字符分开。还要注意,在一些文化中,中间的名字存在。

nickname string

 终端用户的昵称可能是也可能不是与 given_name相同。例如,迈克的昵称可能是迈克尔的 given_name。

preferred_username string

简写名称由终端用户希望在RP中参考,如 janedoe 或 j.doe 。这个值可以是任何有效的JSON字符串包括等特殊字符 @ ,/或空格。RP不能要求这个值是独一无二的,此在 5.7节 讨论。

profile string

终端用户的概要文件页面的URL。这个Web页面的内容应该是关于终端用户的。

picture string

终端用户的概要文件的URL。这个URL必须引用一个图像文件 (例如,一个PNG、JPEG或GIF图像文件),而不是包含图像的Web页面。注意,这个URL应该具体参考概要文件终端用户的照片,适合显示在终端用户描述中,而不是由用户任意拍照。

website string

URL的终端用户的网页或博客。这个网页应该包含终端用户发布的信息 或表示终端用户隶属于一个组织。

email string

终端用户的首选电子邮件地址。其值必须符合 RFC 5322  addr-spec语法。RP不能信任这个值是独一无二的,此在 5.7节讨论。

email_verified boolean

True,如果终端用户的电子邮件地址已经验证,否则为false。当这个声明值为真,这意味着OP采取了积极的措施,确保这个电子邮件地址在执行验证时是由用户控制的。验证电子邮件地址的方法是上下文相关的,依赖于信任框架或操作者的合同协议。

gender string

终端用户的性别。值定义为女或男。当两个定义值都不适用时,可以使用其他值。

birthdate string

终端用户的生日,表示为一个 ISO 8601:2004 [ISO8601 - 2004] YYYY-MM-DD 格式。年可能是 0000年 ,这表明它是省略了。仅呈现年,YYYY 格式是允许的。请注意,根据底层平台的日期相关的功能,仅提供年可能导致不同的月和日,实现者需要考虑这个因素,以正确处理日期。

zoneinfo string

字符串,从zoneinfo (zoneinfo) 时区数据代表终端用户的时区。例如,欧洲/巴黎 或 美国/洛杉矶。

locale string

终端用户的语言环境,表示为 BCP47 [RFC5646]语言标签。通常是一个 ISO 639-1 Alpha-2 [ISO639 - 1] 语言代码的小写字母和一个 ISO 3166-1 Alpha-2[ISO3166 - 1] 的大写国家代码,由一个破折号。例如,en-US 、fr-CA.。兼容性注意:有些使用的是下划线作为分隔符,而不是一个破折号,例如,en_US 依赖方,可以选择接受这种语言的语法。

phone_number string

终端用户首选的电话号码。E.164 (E.164) 建议格式的声明,例如,+ 1(425)555-1212 或 +56 (2) 687 2400。如果电话号码包含一个扩展,建议使用表示 RFC 3966 [RFC3966]扩展语法,例如,+1 (604) 555-1234;ext=5678。

phone_number_verified  boolean

True,如果终端用户的电话号码被验证;否则false。当这个值为真时,意味着OP采取了积极的措施确保这个电话号码是由用户控制的执行验证。验证电话号码方式是上下文相关的,依赖于信任框架或操作者的合同协议。当为真时,phone_number 声明必须在E.164格式和任何扩展必须在RFC 3966格式表示。

address JSON object

终端用户的首选邮政编码。地址一个JSON (RFC4627) 结构,包含部分或全部5.1.1节中定义的成员 。

updated_at  number

最后一次终端用户更新时间的信息。它的值是一个JSON的数字代表的秒数 1970 - 01 - 01 T0:0:0Z UTC,以来的日期/时间来衡量。

 

5.1.1 地址声明(Address Claim)

地址声明代表一个实际邮寄地址。其实现时,可能只返回的一个子集,一个地址部分信息 ,这取决于信息可用性和终端用户的隐私偏好。例如,可能不会返回更细粒度的国家和地区地址信息。

实现可能仅返回一个单独字格式化字串的完整的地址,或者他们可能会返回单个组件,使用其他的子字段,字段 或者他们可能返回的。如果两个变体都返回,他们应该描述的是相同的地址,格式化指示如何处理组件字段组合。

formatted

完整的邮寄地址,格式化显示或使用邮件标签。这个字段可能包含多个行,以换行隔开。换行可以表示为一对回车/换行(“\ r \ n”)或一个换行字符(“\ n”)。

street_address

完整的街道地址的组件,其中可能包括门牌号、街道名称、 邮政信箱,多行扩展的街道地址信息。这个字段可能包含多个行,以换行隔开。换行可以表示为一对回车/换行(“\ r \ n”)或一个换行字符(“\ n”)。

locality

本地化:城市或本地组件。

region

区域:国家,省,县或地区组件。

postal_code

邮政编码或邮政编码组件。

country

国家名称组件。

 

5.1.2 附加声明(Additional Claims)

虽然本规范仅将一小部分声明定义为标准声明,其他声明可以与标准声明一起使用。当使用这样的声明,建议 collision-resistant名称用于声明的名字,如JSON Web Token(JWT) JWT规范中描述的那样。另外, 在JWT规范中所描述的命名不太可能出现冲突时,私有的声明可以安全地使用。或者,如果特定的附加声明将有广泛和普遍适用性,则可以根据JWT规范以注册声明那样进行注册。

 

5.2声明语言和脚本(Claims Languages and Scripts)

 

人类可读的声明值和参照人类可读声明值,可能出现在多种语言和脚本中。对于特定语言和

首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇demo_1 下一篇“吃人”的那些Java名词:对象、..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目