2012-06-17 3 views
0

Я делаю провайдера openid. но я застрял на этапе обнаружения. то, что я сделал это следующим образом:Что возвращает провайдер openid во время обнаружения?

  1. зависимая сторона идет на мое открытие URL
  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 может быть использован для обнаружения google, yahoo, 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

Смежные вопросы