OpenID属性交换 - 在Fet​​chResponse中生成的别名导致与FetchRequest属性别名的相关性丢失

时间:2013-12-17 00:01:07

标签: wso2 openid wso2is

使用OpenID属性交换机制请求身份信息我发现了以下问题。 WSO2身份服务器丢失与FetchRequest属性别名的关联。在OpenIDAttributeExchange#setAttributeExchangeValues(FetchResponse,Map)中创建FetchResponse时,使用方法FetchResponse#addAttribute(String,String)。此方法在Response中生成新别名。因此这样的请求(属性别名是“mail”):

openid.ns.ext1:http://openid.net/srv/ax/1.0
openid.ext1.mode:fetch_request openid.ext1.type.mail:email
openid.ext1.if_available:mail

得到WSO2 IS的答案,回答如下(属性别名为“attr1”):

openid.ns.ext1=http://openid.net/srv/ax/1.0
openid.ext1.value.attr1=xxxx@xxx.com
openid.ext1.type.attr1=email

这种相关性的丧失会导致问题。例如,使用Springs OpenID4JavaConsumer,实际上在响应中找不到所请求的身份信息属性,因为OpenID4JavaConsumer使用别名进行查找。

是bug还是什么?

0 个答案:

没有答案