[OpenID] Problems with delegation and directed identity OPs
Deron Meranda
deron.meranda at gmail.com
Thu Nov 6 16:59:07 UTC 2008
I am trying to use delegation with OPs that use directed identities and
I'm having problems getting it to work.
I want to use my own domain as my claimed identity
<'http://deron.meranda.us/'>, but delegate to a public OP. So I set up an
XRDS document under my domain (using an X-XRDS-Location header).
I've tried this with three different public OPs that have different behaviors:
Verisign PIP - fixed identity
Yahoo! - directed ID , can choose among a set of IDs (default is randomish)
Google - directed ID, random per-RP identities
The XRDS document I'm serving from my domain contains these services:
<!-- **** GOOGLE **** -->
<Service priority="1">
<Type>http://specs.openid.net/auth/2.0/signon</Type>
<URI>https://www.google.com/accounts/o8/ud</URI>
<LocalID>https://www.google.com/accounts/o8/id</LocalID>
</Service>
<!-- **** VERISIGN **** -->
<Service priority="2">
<Type>http://specs.openid.net/auth/2.0/signon</Type>
<URI>https://pip.verisignlabs.com/server</URI>
<LocalID>https://dmeranda.pip.verisignlabs.com/</LocalID>
</Service>
<!-- **** YAHOO! **** -->
<Service priority="3">
<Type>http://specs.openid.net/auth/2.0/signon</Type>
<URI>https://open.login.yahooapis.com/openid/op/auth</URI>
<LocalID>http://yahoo.com/</LocalID>
</Service>
Now what I'm seeing varies depending on OP (I adjust the priority levels
to test each one)...
Verisign: Works. My RP gets a success with:
openid.claimed_id = 'http://deron.meranda.us/'
openid.identity = 'https://dmeranda.pip.verisignlabs.com/'
Yahoo!: Almost works; Yahoo! let me pick which ID to use and returns
success with
openid.claimed_id = 'http://deron.meranda.us/'
openid.identity = 'https://me.yahoo.com/a/3Uz4wakJ.....etc.....'
but then the RP fails while validating the response
"OpenID authentication failure: No matching endpoint found after
discovering http://deron.meranda.us/"
Google: Works, but I don't keep my claimed id
openid.claimed_id =
'https://www.google.com/accounts/o8/id?id=AItOaw.....etc.....'
openid.identity =
'https://www.google.com/accounts/o8/id?id=AItOaw.....etc.....'
So how do I get OPs like Yahoo! and Google to delegate in the same way
that Verisign does?
--
Deron Meranda
More information about the general
mailing list