If you host your blog on Google’s Blogger service you may have discovered that your blog is an OpenID you can use to log into various web sites that act as OpenID relying parties. But Blogger’s support for OpenID is limited to OpenID 1.1, which is very old and not supported by many relying parties nowadays.
You can upgrade your Blogger hosted OpenID to the new OpenID 2.0 version and log into many more web sites, all while still using your Google account to log in, thanks to Google Profiles.
Here’s how to upgrade your Blogger OpenID to OpenID 2.0:
- Create a Google Profiles profile if you haven’t already done so.
- Visit http://www.blogger.com/, logging in if necessary.
- On the blog you use for an OpenID click Layout.
- Click Edit HTML.
- In the Edit Template area, add the following HTML within the <HEAD> tag of your template:
<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/YOURGOOGLEPROFILE' /> <link rel='openid.server' href='http://www.blogger.com/openid-server.g' />
- Click Save Template.
Once you add OpenID endpoints to your blog, Blogger will automatically deactivate its own OpenID 1.1 support. Since Google Profiles only supports OpenID 2.0 RPs, the above instructions also re-asserts Blogger as the OpenID 1.1 Provider so that 1.1 RPs still work. So what we have is the best of both worlds now.
Thanks to Breno de Medeiros of Google for the tip on how to keep OpenID 1.1 RPs working.
I get an error "The page you requested is invalid." when I try to authenticate
I think you have a typo there:
<link rel='openid2.provider' href='https://www.google.com/accounts/o8/ud?source=profiles' />
shouldn't that be "id", not "ud"?
<link rel='openid2.provider' href='https://www.google.com/accounts/o8/id?source=profiles' />
Mark, it's not a typo. The url ending in "/id" is an "OP Identifier", but this tag takes an "OP Endpoint". For Google, their OP endpoint ends with /ud. So this URL was intentional.
David,
I looked at your blog (http://david.gardiner.net.au/) and didn't see the tags I outlined so I assume you reverted the change. If you put it back and contact me again, I'll see if I can help you diagnose what's going wrong.
@andrew I'm getting the "The page you requested is invalid." message too. Here is my blogger URL: http://blog.patrickarchibald.com . Do you see anything wrong with it? Thanks, PLA
Sorry, Patrick and David. I had a typo in the HTML tag. I had "openid2.localid" when I should have had "openid2.local_id". I've corrected the snippet in my post. Please make the correction in your blog and let me know how it goes.
@andrew, "openid2.local_id" works! I can once again login to the StackOverflow sites. Thanks! PLA
Using OpenID (blogger) since the first days and I always was able to login to sites supporting OpenID …
What happens when I use OpenID 2.0 and try to login to a web page that only supports OpenID 1.1?
One idea of OpenID is that users are able to login "everywhere" with just one username/password name?
hfrmobile,
If you add all the tags I outline in this post, 1.1 and 2.0 RPs will all recognize you. You'll still get the one username+password to log in "everywhere".
Thank you, this worked out smooth for me
So close, then I found out profiles isn't part of google apps. :/
This helped me bigtime with logging into Stack Exchange. I'll write a blog post as a testimonial and link to your post.
thanks!
Andrew,
Thanks for this nifty little trick. For your information, I have modified your version a little bit to help me connect to OpenID with Google+. You can see my 'updated' version on my blog. As matter of fact, I even mentioned your fine solution on one of my posts. 🙂
I applied your solution. I also read post of homebiss. Thank you.
I was committing a mistake. So, it didn't work for some time.
My blog was not publicly accessible. So, it didn't work.
As soon as I enabled it's access to public, it worked nicely.
< link rel='openid2.provider' href='https://www.google.com/accounts/o8/ud?source=profiles'
<link rel='openid2.local_id' href='https://plus.google.com/109325437938682542167/posts'
<link rel='openid.server' href='http://www.blogger.com/openid-server.g'
i have place following code in my website http://www.jiwantamang.com.np but the same problem when want to post comment via my url(Your OpenId credential could not be verfied) can i get my solution…
Awesome, now I can log in StackOverflow again!
Thank you 🙂
Jiwan,
I would remove "/posts" from the URL, to start.
This is what works, for me:
< link href='https://www.google.com/accounts/o8/ud?source=profiles' rel='openid2.provider'/>
< link href='http://www.google.com/profiles/114025756997654559499' rel='openid2.local_id'/>
< link href='http://www.blogger.com/openid-server.g' rel='openid.server'/>