OpenID Authentication 2.0 – Implementor’s Draft 12
OpenID认证协议2.0 —草案12
Table of Contents
1.符号惯例 (4)
2.术语 (5)
3.协议概要 (6)
4.数据格式 (6)
4.1协议消息 (6)
4.1.1键-值表单编码 (6)
4.1.2 HTTP编码 (7)
4.1.3例子 (7)
4.2整数的表示 (8)
5.通信类型 (8)
5.1直接通信 (8)
5.1.1直接通信请求 (8)
5.1.2直接通信响应 (8)
5.1.2.1成功响应 (9)
5.1.2.1失败响应 (9)
5.2间接通信 (9)
5.2.1 HTTP重定向 (9)
5.2.2 HTML表单重定向 (9)
5.2.3间接通信失败响应 (10)
6.产生签名 (10)
6.1步骤 (10)
6.2签名算法 (10)
7.初始化及自动发现 (11)
7.1初始化 (11)
7.2规格化 (11)
7.3自动发现 (11)
7.3.1自动发现的信息 (11)
7.3.2基于XRDS的自动发现 (12)
7.3.2.1 OpenID服务条目 (12)
7.3.3基于HTML的自动发现 (13)
8.创建Association (13)
8.1Association会话请求 (14)
8.1.1通用请求参数 (14)
8.1.2 Diffie-Hellman请求参数 (14)
8.2 Association会话响应 (14)
8.2.1通用响应参数 (15)
8.2.2非加密响应参数 (15)
8.2.3 Diffie-Hellman响应参数 (15)
8.2.4不成功响应参数 (15)
8.3 Association类型 (16)
8.3.1HMAC-SHA1 (16)
8.3.2HMAC-SHA256 (16)
8.4 Association会话类型 (16)
8.4.1 No-Encryption Association会话 (16)
8.4.2 Diffie-Hellman Association会话 (16)
9.请求认证 (17)
9.1请求参数 (17)
9.2 Realms (18)
9.2.1域 (18)
9.2.2使用域对返回URL确认 (19)
9.3即时请求(Immediate Requests) (19)
10.响应认证请求 (20)
10.1肯定断言 (20)
10.2否定断言 (22)
10.2.1响应即时请求 (22)
10.2.2响应非即时请求 (22)
11.验证断言 (23)
11.1验证返回URL (23)
11.2验证发现的信息 (23)
11.3检查随机序列 (24)
11.4验证签名 (25)
11.4.1利用Association验证 (25)
11.4.2同OP直接验证 (25)
11.5标识用户 (26)
11.5.1标识回收 (26)
11.5.2 HTTP和HTTPS URL标识 (26)
12.扩展 (27)
13. RP发现 (28)
14.与OpenID 认证协议1.1版本兼容性 (29)
14.1自1.1版变更 (29)
14.1.1初始化与发现过程的更新 (29)
14.1.2安全改进 (29)
14.1.3扩展 (30)
14.2实现与1.1版兼容 (30)
14.2.1依赖方(Relying Party) (30)
14.2.2 OpenID提供方(OpenID Providers) (31)
15.安全考虑 (32)
15.1预防攻击 (32)
15.1.1窃听攻击(Eavesdropping Attacks) (32)
15.1.2中间人攻击(Man-in-the-Middle Attacks) (32)
15.2用户代理 (33)
15.3用户界面考虑 (33)
15.4 HTTP和HTTPS URL标识 (34)
15.5拒绝服务攻击 (34)
15.6协议变量 (34)
附录A. 示例 (35)
附录A.1 规范化 (35)
附录A.2 OP-Local标识 (36)
附录A.3 XRDS (36)
附录A.4 HTML标识记号 (36)
附录A.5 XRI CanonicalID (37)
附录B. Diffie-Hellman密匙交换默认值 (37)
Appendix C. Acknowledgements (37)
16. Normative References (38)
对照词汇表
文档历史
1.符号惯例
本文档中的下面这些关键字在[RFC2119]标准中都有描述。
MUST 必须
MUST NOT 必须不
REQUIRED 需要的
SHALL 应该
SHALL NOT 不应该
SHOULD 应该
SHOULD NOT 不应该
RECOMMENDED 推荐
MAY 可以
OPTIONAL 可选的
在文档中,有些值是用引号引起来的,用来精确表示,在实际的协议消息中必须不用引号。
2.术语
Identifier 标识
标识为HTTP或HTTPS形式的URI(本文中一般地指URL)或XRI(eXtensible Resource Identifier)(可
扩展的资源标识符,是一套与URI兼容的抽象标识符体系)。本文有不同类型的标识,是考虑不同的环境情景设计。
Ur-Agent 用户代理(简写为UA)
一般为用户的浏览器,要实现HTTP/1.1[RFC2616]协议。
Relying Party 依赖方(简写为RP)
是一个WEB应用程序,它需要证实某用户确拥有一个标识。
OpenID Provider OpenId提供方(简写为OP)
是一个提供验证OpenID标识的服务器,它能为RP提供断言,证实用户拥有某个标识。
OP Endpoint URL OpenId提供方(OP)终点URL
是一个用来接收OpenID认证请求的URL,它是通过用户提供的标识而找到的,这个URL必须是绝对地址。
OP Identifier OpenId提供方标识
是一个OpenID Provider的标识。
Ur-Supplied Identifier Ur-Supplied标识
是用户出示给RP的标识,或者是用户在OP那里选择的标识,用户可以敲入自己的标识也可以敲入OP标识,如果是OP标识,那OP要让用户选择一个标识给RP。
Claimed Identifier Claimed标识