TOC |
|
OpenID 简单注册时一个 OpenID 认证协议的扩展,它用来进行非常轻量级的个人信息交换。它设计为当最终用户通过 Web 服务注册一个帐号时,传递八个通常的信息片段。
1.
符号
2.
术语
3.
请求格式
4.
应答格式
5.
安全考虑
6.
规范参考
§
Authors' Addresses
TOC |
本文的关键词“必须”、“不能”、“必需的”、“将”、“将不”、“应该”、 “不应该”、“建议”、“可以”和“可选的”将由 [RFC2119] (Bradner, B., “Key words for use in RFCs to Indicate Requirement Levels,” .)解释。
TOC |
- 最终用户:
- 想要向一个 Consumer 证实自己的 Identity 的实际人类最终用户。
- Consumer:
- 想要证实最终用户拥有宣称的 Identity 的 Web 服务。
- Identity Provider:
- 也叫“IdP”或者“服务器”。这是 OpenID 认证服务器,Consumer 跟它联系以便证明最终用户拥有宣称的 Identity。
TOC |
这里详述的请求参数,应该通过 OpenID 认证的 checkid_immediate 或 checkid_setup 请求发送。
下面所有的请求字段都是可选的,不过在请求中必须至少指定一个“openid.sreg.required”或“openid.sreg.optional”。
- openid.sreg.required:
- 逗号分隔的字段名列表,这些字段如果在应答消息中不存在,那么没有最终用户的干预将阻止 Consumer 完成注册。字段名在应答格式 (应答格式)中指定,但要去除“openid.sreg.”前缀。
- openid.sreg.optional:
- 逗号分隔的字段名列表,这些字段将被 Consumer 使用,但是如果不存在,将不会阻止注册的完成。字段名在应答格式 (应答格式)中指定,但要去除“openid.sreg.”前缀。
- openid.sreg.policy_url:
- 一个 URL,它是 Consumer 提供给最终用户阅读以了解个人信息将被如何使用的地方。如果给定了该参数,Identity Provider 应该给最终用户显示这个 URL。
TOC |
下面的字段应该包含在“openid.mode”是“id_res”的 Identity Provider 的应答中。
应答的“openid.signed”字段列表必须包含返回的注册字段名,以没有 openid. 的前缀作为前缀(例如,sreg.nickname)。 “openid.sig”字段必须为除了 OpenID 认证规范所说的 OpenID 数据外的 sreg. 字段提供一个签名。
如果 Consumer 的签名验证失败,那么从 Identity Provider 发来的注册数据就不应该被使用。
Consumer 必须准备好处理缺少标记为必需或可选的字段的应答。
如果缺少必需字段或者额外的未请求字段,Consumer 应该让最终用户手动输入数据。
单一的字段在应答中不能重复,并且所有包含的字段必须来自规范中定义的字段集合。
一个 Identity Provider 可以在查询的应答中返回下面字段的任意子集。详细如下:
- openid.sreg.nickname:
- 最终用户想用作昵称的任意 UTF-8 字符串。
- openid.sreg.email:
- 最终用户的电子邮件地址,格式参见[RFC2822] (Resnick, P., “Internet Message Format,” .)的 3.4.1 节。
- openid.sreg.fullname:
- 最终用户全名的 UTF-8 字符串文本。
- openid.sreg.dob:
- 最终用户的生日,格式为“YYYY-MM-DD”。位数不足应以 0 填充。其值的长度必须总为 10。如果最终用户不想泄漏某个特定部分,那么必须设置为 0。
比如,如果最终用户想要设定他的生日为 1980,但是没有月份和日期,那么返回值将是“1980-00-00”。- openid.sreg.gender:
- 最终用户的性别,“M”代表男性,“F”代表女性。
- openid.sreg.postcode:
- UTF-8 字符串文本,应该遵守最终用户所在国家或地区的邮政系统。
- openid.sreg.country:
- 最终用户居住的国家或地区,格式见 ISO3166。
- openid.sreg.language:
- 最终用户的语言,格式见 ISO639。
- openid.sreg.timezone:
- 来自时区数据库的 ASCII 字符串。
例如,“Europe/Paris”或“America/Los_Angeles”。
TOC |
无。
TOC |
[RFC2119] | Bradner, B., “Key words for use in RFCs to Indicate Requirement Levels.” |
[RFC2822] | Resnick, P., “Internet Message Format.” |
[openid_authentication] | Recordon, D. and B. Fitzpatrick, “OpenID Authentication 1.1.” |
TOC |
Josh Hoyt | |
JanRain, Inc. | |
5331 SW Macadam Avenue | |
Suite #375 | |
Portland, OR 97239 | |
USA | |
Email: | josh@janrain.com |
Jonathan Daugherty | |
JanRain, Inc. | |
5331 SW Macadam Avenue | |
Suite #375 | |
Portland, OR 97239 | |
USA | |
Email: | jonathan@janrain.com |
David Recordon | |
VeriSign, Inc. | |
487 E Middlefield Road | |
Mountain View, CA 94109 | |
USA | |
Email: | drecordon@verisign.com |