如何把你的博客作为一个 OpenID
前面我介绍了 OpenID 这个插件,但是从留言可以知,很多同学还是对 OpenID 不是很了解,今天对此作进一步介绍,并介绍一个更 Cool 的功能,把自己的博客地址作为 OpenID。
OpenID 是一个由 LiveJournal 发明的分散式的身份验证系统,但现在是 Apache 软件基金会管理的一个开源开放的项目。任何人都可以创建 OpenID,能够由 OpenID 登陆的网站也日渐增长。
一个 OpenID 其实简单说就是一个 URL。如我的 OpenID 是 fairyfish.net,我博客的地址,我可以使用它登录任何支持 OpenID 的站点,并且因为我是唯一控制我博客首页的人,所以我就是唯一可以用它作为身份验证的人。
如果你想和我一样把自己的博客地址作为 OpenID(你应该这样做),下面就是详细的步骤:
1. 在 OpenID 提供网站注册一个 ID。
OpenID 分散式的,意味着任何人都可以自己做 OpenID 提供者,可以通过 phpMyID 实现,但是有很多免费的服务可以提供 OpenID:
- LiveJournal,发明者,如果你有 LiveJournal 的账号,那么你的账号就是一个 OpenID -- 你的 LiveJournal 地址。
- Vox -- Six Apart 的,新的性感的社会网络
- VeriSign Labs,它对 OpenID 做了一些出色的工作,另外他本身也是 OpenID 提供者。
- MyOpenID,这个是最多人用的 OpenID 服务,如我的 denishua.myopenid.com.
其实还有很多 OpenID 服务网站,这里不一一而举了。详细请查看:Public OpenID providers
2. 把你的自己的网站指向 OpenID
下面可能让你觉得神奇,在创建你自己的 OpenID 之后,编辑你博客的首页(或者任何你想用来作为你个人 OpenID 的 URL),并在 HTML 的 <head> 区域增加如下代码:
<link rel="openid.server" href="http://www.myopenid.com/server">
<link rel="openid.delegate" href="http://denishua.myopenid.com">
这里,把 openid.delegate 的 href 替换成你在 OpenID 提供者的那里创建的 OpenID,把 openid.server 的 href 替换为你的 OpenID 提供者的服务器。下面是我上面提供的四个 OpenID 提供者的服务器地址(你也可以通过查看你 OpenID 页面的源代码查到):
OpenID Provider | Server URL |
---|---|
LiveJournal | http://www.livejournal.com/openid/server.bml |
Vox | http://www.vox.com/services/openid/server |
VeriSign | https://pip.verisignlabs.com/server |
MyOpenID | http://www.myopenid.com/server |
这个委托机制是让 OpenID 成为真正的分散式的身份认证系统的关键,如果哪天你不再相信你的 OpenID 提供者,你可以很容易转到第二个,然后编辑下你的 HTML --- 这样保证了你的 OpenId 还是一样的。
3. 尝试登陆下
现在已经把你的博客或者主页作为了 OpenID,你可以尝试到支持 OpenID 的站点登陆下,如本站,下面是一个支持 OpenID 的站点列表:OpenID Site Directory。
本文翻译自 How to turn your blog in to an OpenID,有删节和修改,如有疑问,请看原文!
Update 2007-12-26:根据 shiweiyu 和 Kusanagi 的留言,至少要贴三行代码:
<link rel="openid.server" href="http://www.myopenid.com/server">
<link rel="openid.delegate" href="http://denishua.myopenid.com">
<meta http-equiv="X-XRDS-Location" content="http://www.myopenid.com/xrds?username=denishua.myopenid.com" />