OpenID协议概述2

5 重定向到OP进行验证

请求参数

参数值

openid.ns

http://specs.openid.net/auth/2.0 OpenID版本号

openid.mode

checkid_setup 允许用户与OP之间交互(比如普通登录)
checkid_immediate
不允许交互(比如:AJAX方式进行登录).

openid.claimed_id

(可选) 用户宣称的OpenID. 如果用户不采用代理方式,那么这与本地标识相同

openid.identity

(可选)本地标识

openid.assoc_handle

(可选) 建立关联阶段生成的通讯句柄

openid.return_to

(可选)认证完成之后重定向到RP端的URL

openid.realm

(可选) OpenID服务器请求用户信任的URL

注意:RP并没有直接发送HTTP请求到OP,而是重定向到OP认证页面。由于这样使得OP能够从用户浏览器中读取cookie而没有将任何认证细节泄露给RP,因此这个过程是安全的。

以下是登录plaxo网站时向yahoo!请求时提交的参数以及参数值:

openid.assoc_handle

B4H.wgHfnvp_7RgSLiLh0yCFh6EZtkJqvamH1O3_SH7aZod5POcxx.jF

XdEYYbvcOv.gfZG5YHgr4DSNCmFS25EvqmTH.YkZ7KlUakSifq2H6

zid99UffUVnJdXErUs-

openid.ax.mode

fetch_request

openid.ax.required

email

openid.ax.type.email

http://axschema.org/contact/email

openid.claimed_id

http://specs.openid.net/auth/2.0/identifier_select

openid.identity

http://specs.openid.net/auth/2.0/identifier_select

openid.mode 

checkid_setup

openid.ns      

http://specs.openid.net/auth/2.0

openid.ns.ax

http://openid.net/srv/ax/1.0

openid.ns.sreg

http://openid.net/extensions/sreg/1.1

openid.realm

http://*.plaxo.com

openid.return_to

http://www.plaxo.com/openid?actionType=complete&r=%2Fevents

openid.sreg.optional

nickname,email,fullname,dob,gender,postcode,country,language,timezone

openid.sreg.policy_url

http://www.plaxo.com/about/privacy

openid.sreg.required

Email

openid.trust_root

http://*.plaxo.com

6 回应认证请求

收到OpenID认证请求以后,OP需要决定允许还是拒绝用户的认证请求(当然如果用户提交的参数对了而且用户名密码也正确的话,估计也没有拒绝用户认证请求的,不过也有例外)

注意:OP在接受用户认证请求时是有控制权的。他不但能异步的响应认证请求,而且能在响应认证请求之前先跟用户交互一阵子。最基本的表现在于:大多数的OP在相应请求之前都会询问用户是否拒绝RP的请求。

响应参数

参数值

openid.ns

http://specs.openid.net/auth/2.0 OpenID版本号

openid.mode

id_res 表示对认证请求的响应

openid.op_endpoint

OpenIDserver URL

openid.claimed_id

(可选) OpenID

openid.identity

(可选) OpenID

openid.return_to

请求时发送的return_to参数

openid.response_nonce

一个长度小于255的字符串,对于每次响应是唯一的

openid.invalidate_handle

(可选)如果RP发送了一个非法的句柄,应该设置为这个参数值

openid.assoc_handle

用于数字签名的句柄

openid.signed

RP请求的,以逗号分隔的签名字段

openid.sig

Base64编码的签名

7 验证响应信息

RP接受OP的响应,并对一下信息进行验证

       1 openid.return_to:是否匹配当前url,保证OP重定向到正确的URL

       2 The discovered information matches the information in the assertion.(不理解)

       3 如果response_nonce具有相同的参数值,代表代表op受到了reply attack

       4 签名是否有效,是否所有需要签名的参数都签名了,保证响应信息没有被篡改过

如果以上四条都满足的话,可以确定认证成功

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值