【问题标题】:AOL openid website verificationAOL openid 网站验证
【发布时间】:2011-11-23 15:32:54
【问题描述】:

我正在尝试使用 AOL openid,但收到“AOL 无法验证此网站”的消息

谁能告诉我避免这个错误的步骤,我应该怎么做。

如果有一些示例代码,请分享 - 在此先感谢

问候,

纳文


George 谢谢你的回答,但是我在让它工作时遇到问题,我的 xrds 文件如下

<?php
header('Content-type: application/xrds+xml');
$xrdstext = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
    $xrdstext =$xrdstext . "<xrds:XRDS";
    $xrdstext =$xrdstext ." xmlns:xrds=\"xri://$xrds\"";
    $xrdstext =$xrdstext ." xmlns:openid=\"http://openid.net/xmlns/1.0\"";
    $xrdstext =$xrdstext ." xmlns=\"xri://$xrd*($v*2.0)\">\n";
    $xrdstext =$xrdstext ."<XRD>\n";
    $xrdstext =$xrdstext ."<Service xmlns=\"xri://$xrd*($v*2.0)\">\n";
    $xrdstext =$xrdstext ."<Type>http://specs.openid.net/auth/2.0/return_to</Type>\n";
    $xrdstext =$xrdstext ."<URI>http://localhost:56709/myproject/socialoauth.aspx</URI>\n";
    $xrdstext =$xrdstext ."</Service>\n";
    $xrdstext =$xrdstext ."</XRD>\n";
    $xrdstext =$xrdstext ."</xrds:XRDS>";
echo $xrdstext;
?>  

我的请求网址是

https://api.screenname.aol.com/auth/openidServer?openid.claimed_id=http://openid.aol.com/navinleon&openid.identity=http://openid.aol.com/navinleon&openid.return_to=http://localhost:56709/myproject/socialoauth.aspx&openid.realm=http://mydomain.com/xrds/&openid.mode=checkid_setup&openid.assoc_handle=f457ae42e94c11e0811b002655277584&openid.ns=http://specs.openid.net/auth/2.0&openid.ns.alias3=http://openid.net/srv/ax/1.0&openid.alias3.if_available=alias5&openid.alias3.required=alias1,alias2,alias3,alias4,alias6,alias7&openid.alias3.mode=fetch_request&openid.alias3.type.alias1=http://axschema.org/namePerson/friendly&openid.alias3.count.alias1=1&openid.alias3.type.alias2=http://axschema.org/namePerson/first&openid.alias3.count.alias2=1&openid.alias3.type.alias3=http://axschema.org/namePerson/last&openid.alias3.count.alias3=1&openid.alias3.type.alias4=http://axschema.org/contact/country/home&openid.alias3.count.alias4=1&openid.alias3.type.alias5=http://axschema.org/pref/language&openid.alias3.count.alias5=1&openid.alias3.type.alias6=http://axschema.org/contact/email&openid.alias3.count.alias6=1&openid.alias3.type.alias7=http://axschema.org/birthDate&openid.alias3.count.alias7=1

我不确定我做错了什么
请帮忙...

【问题讨论】:

  • 仍然无法正常工作的原因是 AOL 服务器无法访问您的 localhost 服务器以检索 XRDS 文档。

标签: oauth openid aol xrds


【解决方案1】:

因此,此错误的原因是 AOL 无法验证 Rely Party return_to URL(根据 OpenID 2 规范 [http://openid.net/specs/openid-authentication-2_0.html#rp_discovery])的第 13 节。执行此步骤是为了保护用户免受指定领域与 return_to URL 不匹配的攻击。

要消除此错误,您需要通过指定的领域字符串支持 XRDS 发现。根据截图,这只是意味着在 localhost 上运行的服务器中添加支持。

基本上,对http://localhost:56709 的 HTTP 请求带有 application/xrds+xml 的 Accept HTTP 标头应该返回一个 X-XRDS-Location 的响应 HTTP 标头,其值指定 XRDS 文件的位置,或者它可以直接返回XRDS文件。

XRDS 文档应如下所示...

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS
  xmlns:xrds="xri://$xrds"
  xmlns:openid="http://openid.net/xmlns/1.0"
  xmlns="xri://$xrd*($v*2.0)">
  <XRD>

  <Service xmlns="xri://$xrd*($v*2.0)">
    <Type>http://specs.openid.net/auth/2.0/return_to</Type>
    <URI>http://localhost:56709/return_to/url/path</URI>
  </Service>

  </XRD>
</xrds:XRDS>

注意:对 localhost 的 HTTP 请求将失败,因为无法访问该站点。警告将一直持续到 XRDS 文档部署到可访问的站点为止。

【讨论】:

  • 乔治谢谢你的回答,但是我有问题让它工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 2010-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多