Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for Yahoo: Failed to verify assertion (message: No OpenID provider was discovered for the asserted claimed identifier) #6

Open
therontock opened this issue Sep 5, 2016 · 6 comments

Comments

@therontock
Copy link

Starting about a week ago passport-yahoo started breaking. I finally tracked down the issue to a change that Yahoo made that is exposed by code in openid.js. Perhaps this is fixed with the latest version of the openid code but I'm running with a frozen set of npm modules. I am posting in the hopes this saves someone else the multiple hours it took me to track this down, even though the author appears to have abandoned this project.

The change Yahoo made is that this command:
curl -H 'Accept: application/xrds+xml,text/html,text/plain,*/*' https://me.yahoo.com/.well-known/host-meta

now returns different data. There is some content-type problem on Yahoo's side, because if you remove '/' from the list (or 'text/html') then the correct content is returned -- even though the returned content-type remains the same.

To fix the problem, run this command to remove the '/' from the Accept header that is sent:
sed -i 's%,\*/\*%%' node_modules/passport-yahoo/node_modules/passport-openid/node_modules/openid/openid.js

@AGT89
Copy link

AGT89 commented Sep 20, 2016

I'm having the same issue and getting the error message "InternalOpenIDError: Failed to discover OP endpoint URL"

This is reproducible using the signon example from this repo:

  1. Download the signon example.
  2. Change express version dependency to 2.5.10 in package.json.
  3. npm install
  4. Set the provider URL for the strategy ("providerURL: 'https://me.yahoo.com'")
  5. node app.js
  6. Go to http://localhost:3000/login and click "Sign On with Yahoo"

Opened havard/node-openid#163 as the issue is in openid.js

@jbruggem
Copy link

It's now fixed in node-openid. Just needs a bump in this package.json !

@Martii
Copy link

Martii commented Oct 31, 2016

Just doing some follow up here... we've successfully tested AOL passport... and are awaiting Yahoo verification testing... thanks for everyone who did post something. :)

Refs:
passport-openid is also affected and passport-aol ... passport-openid is what sub-depends using openid a.k.a. node-openid here on GH vs npmjs.com.

@jack2ky
Copy link

jack2ky commented Mar 16, 2017

Is the yahoo passport strategy fixed?

@montykamath
Copy link

montykamath commented Jun 13, 2017

I'm still getting this error: 'No OpenID provider was discovered for the asserted claimed identifier'. Is there a fix? I'm using "passport-yahoo": "^0.3.0"

@jyoti007
Copy link

I am facing the same issue, Have anyone find any solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants