1

This is the error I get after logging into Stack with my LightOpenID provider script.

The OpenID Provider issued an assertion for an Identifier whose discovery information did not match.

Assertion endpoint info: 
ClaimedIdentifier: http ://sub.mydomain.net/?cgillis 
ProviderLocalIdentifier: http ://sub.mydomain.net/?cgillis 
ProviderEndpoint: http ://sub.mydomain.net/ 
OpenID version: 2.0 Service Type URIs: 

Discovered endpoint info: [{ 
ClaimedIdentifier: http ://specs.openid.net/auth/2.0/identifier_select        
ProviderLocalIdentifier: http ://specs.openid.net/auth/2.0/identifier_select    
ProviderEndpoint: http ://sub.mydomain.net/ 
OpenID version: 2.0 Service Type URIs: http ://specs.openid.net/auth/2.0/server },] 

Provider script: https://gist.github.com/1072612

I should note the provider has select_id set to true. Everything works if it's set to false.

Chris
  • 201
  • 2
  • 13
  • What client do you use? Does it work with example.php from the repo? (the HTTP Auth one, not the mysql one). – Mewp Jul 15 '11 at 12:44
  • It works with the example client from the repo. It does not work with StackExchange or any other website I could find that accepts OpenID. – Chris Jul 15 '11 at 14:13
  • Should note that if I set select_id to true, it works on Stack and all the others. Seems to be something wrong with the other mode. – Chris Jul 16 '11 at 05:17
  • 1
    Might be related: [Stack Overflow and Steam Community OpenIDs](http://meta.stackexchange.com/questions/55878/stack-overflow-and-steam-community-openids) – Hendrik Brummermann Jul 16 '11 at 21:50

1 Answers1

1

Basically, the problem is that you set select_id = true for the identity urls. If you set it to false for only the urls returned by checkid(), it will work as expected.

See __construct() in example.php from the repository for an example on how can this problem be solved.

You should also see the Provider wiki page and a related bug report

Mewp
  • 4,715
  • 1
  • 21
  • 24