前面我介绍了 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” />

多加了一行 来试试~
5行我全加了,才行 – -#
https://www.myopenid.com/help#own_domain
谢谢帮忙指出!
樓山的好猛。我是加了三行
這里不能貼代碼丫。。不知道怎么說。。
谢谢指出,留言贴代码,可以通过把代码放入
<code>和</code>中。
嗯,5行,再试一次~
抓虾上
下面可能让你觉得神奇,在创建你自己的 OpenID 之后,编辑你博客的首页(或者任何你想用来作为你个人 OpenID 的 URL),并在 HTML 的 区域增加如下代码:
算了,放弃了,当我没说过…..
我在留言系统加了认证码,wp-openid验证openid后好像没有把验证码一起传递到后台,所以可能要找时间改一下才能用
嗯,看来你这儿也有这个问题,用openid留的言不能[reply this comment]的说
我这儿没有问题,我测试过的啊!你也显示 OpenID 的 logo 了!
测试下 reply this comment
确实是不能 通过 openid reply this comment 。
看一下为什么不能?
因为wp-openid在验证openid网址之前,先把评论的信息保存在内存中,但貌似只保存了wp默认的几项:name、email、content、文章号….但如果评论系统还有其它功能,如验证码或者reply this comment,在提交表单的时候则需要提交额外的字段,而做中转的wp-openid没有保留这些字段。个么要到插件代码里手动改一下了
貌似我也可以……
可能你得RP比较好,嗯,只是今天。
denis 太坏了……
我也去试试啦.
Go ahead!
不懂“BZ可以贴几张图上来指导以下!
这个也要贴图,你认真看了吗?
不是很明白,暂时不需要,我的首要任务是要站点立起来。。。
^_^,来凑个热闹,也不知道我的能用不。
貌似 openid 不好用啊 submit就打不开了
你好,我在网上搜索到你的网站,按照你的方法修改了WP的主题文件”header.php”,将三段代码复制到了之前,但之后使用我的域名silentstreet.net登陆支持OpenID的网站依然失败。。。请问该怎么解决阿?是不是这三段代码应该添加到WP的其他位置呢?
不错
不过你的评论怎么不支持OpenID了呢?
我也刚加上
今天刚接触openid,搜索到你这里,很有帮助~