2012-06-17 45 views
0

我正在做一個openid提供商。但我堅持在發現步驟。我所做的是如下:在發現過程中,openid提供程序返回什麼?

  1. 依賴方去我發現網址
  2. 我的服務器(OpenID提供商)返回下面的文件(內容類型:應用程序/ XRDS + XML)

<?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的消費者測試儀索姆ehow不能發現我的openid提供者。我不知道我的xrds文檔有什麼問題,但我的openid客戶測試人員可以用來發現谷歌,雅虎,verisign,並將我帶到登錄屏幕。所以據說我的openid用戶測試儀沒有任何問題。請告訴我該怎麼做。謝謝。

回答

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

相關問題