havard / node-openid

OpenID for Node.js
MIT License
293 stars 100 forks source link

Steam OpenID #72

Closed Akkuma closed 12 years ago

Akkuma commented 12 years ago

I reported this issue a week ago to the passport-openid tracker, but the issue might stem from within node-openid itself and I've gotten no response on the passport-openid side, so figured I'd pass along the issue.

Here is what I'm getting passed back to me while using the Steam OpenID and I console log out the callback/next for authenticate. I've used Google OpenID and it is working fine.

{ name: 'InternalOpenIDError',
     message: 'Failed to discover OP endpoint URL',
     openidError: { message: 'No usable providers found for the given identifier' } } }

Additionally, when I'm debugging I'm getting this error from within node-openid:

error: 'Associations not supported'
error_code: 'unsupported-type'
ns: 'http://specs.openid.net/auth/2.0'

It is detecting the correct endpoint and while debugging using node-inspector node-openid's post never seems to complete, which maybe the root problem.

https://github.com/jaredhanson/passport-openid/issues/1

havard commented 12 years ago

The "issue" here is the Steam OpenID provider, which does not support associations. To support the Steam OpenID provider, you need to use stateless mode, which is supported by node-openid:

var relyingParty = new openid.RelyingParty(
  'http://example.com/verify', // Verification URL (yours)
  null, // Realm (optional, specifies realm for OpenID authentication)
  true, // Use stateless verification
  false, // Strict mode
  []); // List of extensions to enable and include