Domanda

For years I've been using my own domain frightanic.com as my OpenID. However, my site delegates to Google's OpenID provider by using the following in the index.html's HTML head:

<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud?source=profiles" >
<link rel="openid2.local_id" href="http://www.google.com/profiles/marcelstoer" >

Google broke this with the introduction of Google+. Now with each login attempt they display a "Switch to Google+" page from which there's no escape.

What's the way around that (other than looking for a new OpenID provider or clicking the Google login option on StackExchange)?

È stato utile?

Soluzione

Kind of a shot in the dark but would using an identifier select URL in your local_id work?

<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud">
<link rel="openid2.local_id" href="https://www.google.com/accounts/o8/id">

(note that the 2nd URL is /id rather than /ud)

Altri suggerimenti

I was able to hack this around a bit but I've just created & removed a Google Plus profile, so I'm not sure if it won't stop working in a few days from now.

Go to http://profiles.google.com. It should redirect you to a profile page with your user number listed in the URL alike:

https://profiles.google.com/NNNNNNNNNNN/about

Alternatively, it may just ask you to register for Google Plus. If it does, you can enable it, then remove the Google Plus profile. The identifier should persist, and the above trick should work from now on. Sadly, I don't know a way around this.

Copy the number NNNNNNNNNNN from that URL to the following snippet and it should work:

The snippet looks like:

<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud" />
<link rel="openid2.local_id" href="https://profiles.google.com/NNNNNNNNNNN" />

Note that there's no ?source=profiles anymore. It used to work for me earlier but now results in a 500.

From what I've tried with OpenID-LDAP test, it seems that openid2.local_id can take practically any value. It is only responsible for mapping your Google identifier to your domain. Any other Google identifier will be used as-is, without mapping.

That is:

  1. If you log in with the Google account listed as local_id, you will be logged in as http://yourdomain.com.

  2. If you log in with any other Google account, you will be logged in as https://www.google.com/accounts/o8/id?....

If local_id has an invalid value, that is doesn't match any account identifier, all users will be logged in with their 'long' Google ids and the snippet will basically be a plain redirect to Google login.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top