TOC 
J. Hoyt
 J. Daugherty
 JanRain
 D. Recordon
 VeriSign
 June 2006


OpenID 简单注册扩展 1.0

Abstract

OpenID 简单注册时一个 OpenID 认证协议的扩展,它用来进行非常轻量级的个人信息交换。它设计为当最终用户通过 Web 服务注册一个帐号时,传递八个通常的信息片段。



Table of Contents

1.  符号
2.  术语
3.  请求格式
4.  应答格式
5.  安全考虑
6.  规范参考
§  Authors' Addresses




 TOC 

1.  符号

本文的关键词“必须”、“不能”、“必需的”、“将”、“将不”、“应该”、 “不应该”、“建议”、“可以”和“可选的”将由 [RFC2119] (Bradner, B., “Key words for use in RFCs to Indicate Requirement Levels,” .)解释。



 TOC 

2.  术语

最终用户:
想要向一个 Consumer 证实自己的 Identity 的实际人类最终用户。
Consumer:
想要证实最终用户拥有宣称的 Identity 的 Web 服务。
Identity Provider:
也叫“IdP”或者“服务器”。这是 OpenID 认证服务器,Consumer 跟它联系以便证明最终用户拥有宣称的 Identity。



 TOC 

3.  请求格式

这里详述的请求参数,应该通过 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 

4.  应答格式

下面的字段应该包含在“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 

5.  安全考虑

无。



 TOC 

6. 规范参考

[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 

Authors' Addresses

  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