我试着使用AOL的openid,螺帽得到了"AOL无法验证这个网站“
有人能告诉我避免这个错误的步骤吗?我该做什么呢?
如果有一些示例代码,请分享-谢谢
致以敬意,
纳文
乔治谢谢你的回答,不过我有问题要做,我的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;
?>
我的请求网址是
我不知道做错了什么
请帮帮我..。
发布于 2011-09-23 13:20:57
因此,造成此错误的原因是,AOL无法验证依赖方return_to URL ( OpenID 2规范[http://openid.net/specs/openid-authentication-2_0.html#rp_discovery]第13节)。执行此步骤是为了防止用户在指定的领域与return_to URL不匹配的情况下受到攻击。
要消除此错误,需要通过指定的领域字符串支持XRDS发现。根据屏幕截图,这只是意味着向运行在本地主机上的服务器添加支持。
基本上,带有应用程序/ XRDS +xml的Accept HTTP报头的HTTP请求应该返回具有指定XRDS文件位置的值的响应HTTP报头XRDS location,或者直接返回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>
注意: HTTP请求到本地主机将失败,因为它是不可能到达该网站。警告将持续到将XRDS文档部署到可到达的站点为止。
https://stackoverflow.com/questions/7529013
复制相似问题