I am developing an OpenID consumer in PHP and am using the fantastic LightOpenID library (http://gitorious.org/lightopenid). Basing my code off of that found in the example client script I have successfully created a consumer. However, I've run across a snag: Google requires the openid.identity
and openid.claimed_id
to be set to "http://specs.openid.net/auth/2.0/identifier_select"
(see here). If I do that it works but other providers (i.e. AOL) don't.
Here are my questions:
- Is Google a corner case –– is it the only OpenID provider where
identifier_select
is required, contrary to the OpenID specs? - Is there a shortcoming in the LightOpenID library?
- Is my understanding of how OpenID works incorrect?
- If Google is not the only provider that requires
identifier_select
are there a finite number of them which I'll just hardcode in, or is there someway to determine this through the OpenID spec?
I'm new to the internals of OpenID so I wouldn't be surprised if this is a dumb question. I haven't been able to find any info on this subject after scouring the Internet.