0

I have been using OpenID authentication in Drupal 7 for quite a while, using an myopenid.com identity. Now, since myopenid.com has announced that they are going away, I want to add a new OpenID identity to my account.

However, I am not able to add another identity. When I try to add another identity, the browser starts loading a page, but then stops loading. I am not taken to the provider's login page, whether or not I am logged in to the provider's site. (I am already logged in to my Drupal 7 site -- I am adding the new ID from my profile's OpenID Identities tab.)

When I manually go back to that OpenID Identities tab, the myopenid.com identity is there, but the new one is not.

There is nothing in the Apache error log or access log suggesting what is going on.

Any idea how to debug what is going wrong?

2
  • What's the last HTTP request your browser tries to execute? What's the status message of it? – Mołot Sep 10 '13 at 7:41
  • Thanks for your suggestion to look at the browser requests. Using that suggestion, I was able to solve the problem. – nachbar Sep 10 '13 at 16:53
2

Thanks to Mołot's comment, I was able to figure it out. The problem was the administrative overlay.

Using the Chrome Developer Tools console (Chrome Menu/View/Developer/Developer Tools) I was able to see the request history. The last request included:

referer:http://mysite.com/user/1/openid?render=overlay&render=overlay

The response from Google also contained a header that looks like an error, although it may not have been relevant:

p3p:CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."

I don't know if the referrer header was the actual problem, or if it just reflected a problem caused by including "render=overlay" in the request going on in the background between my server and the OpenID provider. In any case, by turning the administrative overlay off (Admin/Modules/Core/Overlay), I was able to add and use my new OpenID. It worked for both Google and Yahoo.

I would also add, as noted elsewhere, the URL to use to set up the OpenID for Google is:

http://www.google.com/accounts/o8/id

That initially confused me because that does not appear to be a unique ID. However, using that ID both to add the OpenID for Drupal, and to log in using OpenID, works. The string stored as my "OpenID" is different, and has what appears to be a unique identifier, but the user never has to enter that long, unique string.

Not only did the Administrative Overlay prevent the OpenID from being added, it also prevented me from seeing the error message when I used the wrong string to add the OpenID.

3
  • Consider making it a bugreport / support request to openid module. It shouldn't conflict with core. – Mołot Sep 10 '13 at 20:58
  • Thanks for the suggestion. I have added it: drupal.org/node/2086195 I put it under core, because I believe OpenID is part of core (the OpenID module does not appear to have been used since version 5) – nachbar Sep 10 '13 at 23:28
  • Oh, my mistake, I thought it was removed from core, but it seems it will be in Drupal 8. Last time I actually used it was in Drupal 6, and the removal process starter in 2009. Seems I should have paid more attention. Sorry. – Mołot Sep 11 '13 at 6:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.