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 think you have a typo there:
ReplyDelete<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' />
I get an error "The page you requested is invalid." when I try to authenticate
ReplyDeleteMark, 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.
ReplyDeleteDavid,
ReplyDeleteI 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
ReplyDeleteSorry, 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.
ReplyDelete@andrew, "openid2.local_id" works! I can once again login to the StackOverflow sites. Thanks! PLA
ReplyDeleteUsing OpenID (blogger) since the first days and I always was able to login to sites supporting OpenID ...
ReplyDeleteWhat 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,
ReplyDeleteIf 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
ReplyDeleteSo close, then I found out profiles isn't part of google apps. :/
ReplyDeleteThis helped me bigtime with logging into Stack Exchange. I'll write a blog post as a testimonial and link to your post.
ReplyDeletethanks!
Andrew,
ReplyDeleteThanks 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.
ReplyDeleteI 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'
ReplyDelete<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!
ReplyDeleteThank you :)
Jiwan,
ReplyDeleteI 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'/>