openid提供商在发现过程中返回了什么?

时间:2012-06-17 16:55:06

标签: openid openid-provider

我正在建立一个开放的提供商。但我坚持发现步骤。我所做的如下:

  1. 依赖方转到我的发现网址
  2. 我的服务器(openid provider)返回以下文档(内容类型:application / xrds + xml)
  3. <?xml version="1.0" encoding="UTF-8"?>

    <xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">

    <XRD>

    <Service priority="0">

    <Type>http://specs.openid.net/auth/2.0/server</Type>

    <URI>my_endpoint_url (an https address, with self signed certificate)</URI>

    </Service>

    </XRD>

    </xrds:XRDS>

    但是,我的openid消费者测试人员无法找到我的openid提供者。我不知道我的xrds文档有什么问题,但我的openid消费者测试人员可以用来发现google,yahoo,verisign,然后带我进入登录界面。据说我的开放式消费者测试员没有做错任何事。请告诉我该怎么做。谢谢。

1 个答案:

答案 0 :(得分:1)

您的Openid是否支持扩展?

您必须支持至少Openid Simple Attributue交换服务扩展,以便在端点之间交换身份信息。因此,您必须将扩展名列为附加xrd:键入xrd:Service元素的子元素。

像这样;

<Service priority="0">
 <Type>http://specs.openid.net/auth/2.0/server</Type>
 <Type>http://openid.net/srv/ax/1.0</Type>
 <Type>http://specs.openid.net/extensions/ui/1.0/mode/popup</Type>
 <Type>http://specs.openid.net/extensions/ui/1.0/icon</Type>
 <Type>http://specs.openid.net/extensions/pape/1.0</Type>
 <URI>endpoint_url</URI>
 </Service>

有关此内容的更多信息,请查看以下链接。 http://openid.net/specs/openid-authentication-2_0.html#discovery