php-openid icon indicating copy to clipboard operation
php-openid copied to clipboard

Yadis Discover should not iterate

Open ziima opened this issue 14 years ago • 0 comments

I have created issue originally in python-openid library https://github.com/openid/python-openid/issues#issue/8

Problem is that as we have XRDS document like this:

<?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 priority="10">
      <Type>http://openid.net/server/1.1</Type>
      <Type>http://specs.openid.net/extensions/pape/1.0</Type>
      <URI>https://test.provider/endpoint/</URI>
    </Service>
    <Service priority="0">
      <Type>http://specs.openid.net/auth/2.0/server</Type>
      <Type>http://specs.openid.net/extensions/pape/1.0</Type>
      <URI>https://test.provider/endpoint/</URI>
    </Service>
  </XRD>
</xrds:XRDS>

Repetitive creation of openid requests (run by another reason then unavailable endpoint) results in generating requests with different openid namespace instead of creation of request with the highest priority available as required by specification of YADIS protocol.

In my opinion current implementation partially ignores priorities in XRDS document and uses them only to initial ordering of services.

ziima avatar Dec 10 '10 13:12 ziima