概况
首先我假定你的网站已经具备了以下的条件:
1.一个用户信息数据库;
- 每个用户有唯一的内部ID,用户通过他们的帐号(e-mail)和密码登陆。
3.有验证用户的登陆页面;
- 通过用户的帐号(e-mail)和密码验证用户身份,并在网站其他地方依赖用户ID作为用户身份的象征。
如果你的网站不像以上所说的,你首先应该将它改造成这样,虽然某些细节可能有些出入。
下面是需要给你的网站增加的大体内容:
1.一个存储OpenID和用户的内部ID关系的数据表;
- 它们之间是多对一的关系(每个用户可以绑定多个OpenID,但是一个OpenID只能属于一个用户)。
- 这个表将用来通过OpenID查询所有的用户,因此必须是单独的一个数据表。
- 新用户将输入他们的OpenID,通过其对应的提供者来验证,并返回到你的注册页面,选择性提供他们想在你的网站上共享的资料。
- 已经绑定OpenID的用户可以直接输入OpenID,通过对应提供者验证用户身份,并返回到你的网站的验证页面,并通过OpenID和用户ID的对应关系找到对应的帐号,就像他们输入了帐号(e-mail)和密码一样。
下面是你将创建的简要内容:
1.一个OpenID数据表
- 数据列:(openid_url,user_id)。openid_url是字符串,user_id是你当前用户标识身份的ID。
- 把openid_url设为主键(唯一,用来通过OpenID查找用户)
- 创建user_id的索引(用来对指定帐号列举其绑定的OpenID)
- 检查用户输入的OpenID已经被站内用户绑定过了
- 重定向到OpenID提供者(使用OpenID库),这样用户才能被授权(详情稍候讲解)
- 需要核实应答(使用OpenID库)
- 对于新用户,你需要按照注册流程先预先填充从OpenID提供者返回的注册信息,并且需要绕过注册流程,使他们不需要提供密码(因为他们以后将通过OpenID直接登陆)。
- 对于已经注册的用户,你需要绑定已经被验证过的OpenID到他们的账户上(如果是他们是第一次使用它)。
- 能获取和浏览所有绑定到当前登陆帐号的所有OpenID。
- 能让用户绑定新的OpenID。
- 能让用户删除已经绑定过的OpenID。
在正式开始之前你可能需要下面的资源:
1.选择一种程序语言的OpenID用户库,点击查看各种语言的用户库。
2.放置在你的网站界面的标准OpenID图形。比如小图标和logo(小、正常、PDF)。
3.利用一些OpenID提供者来进行测试。比如MyOpenID.com、LiveJournal、和ClaimID。另外,如果你有AOL/AIM的帐号,你可以用http://openid.aol.com/USERNAME作为一个OpenID(USERNAME代表你的帐号)。
实现OpenID用户支持能立刻享受以下这些好处:
1.1.2亿使用OpenID的用户将更容易、迅速地注册到你的网站,因为他们不再需要创建并记住心得帐号和密码。
2.当你开始收集你用户的OpenID时,你网站的用户将能更容易地享受到很多基于OpenID的服务。
3.通过支持这个举足轻重的在线身份的开放标准,你将证明你的想法和对会员的承诺。
另外,随着对OpenID支持的不断增多,你将可能享受到更多的好处:
1.自动链接到会员在别的网站的帐号,从而共享信息给Mashup,避免用户在不同的地方多次输入重复的信息。
2.当会员在别的网站更改信息时,你能更轻松地获取到他们的最新动态。
3.接受别的网站或服务提供的可信服务,比如年龄确认,e-mail认证,群组会员资格验证等等。
(待续,后文将讲述具体的实现,敬请关注)












如何让你的网站也支持OpenID(一)
翻译: 
cccccc 状元 | Blog
注册过openid.cn但是不知道如何使用...
yopoo上从来没成功过...
01/18/2008
deng 进士
呵呵,我注册了myopenid.com,在yupoo上也没有成功过。
01/18/2008
yudaoni 童生
openid使用时很简单,比如日作论坛(http://bbs.rizuo.com):
页面右上角-登录-输入你的openid帐号(url)-提交后会跳到openid服务器验证(一般输入密码即可)-登录成功后跳回到日作论坛。
myopenid无法这样跳到openid服务器登录,必须先登录openid服务器后再验证。
01/21/2008
deng 进士
to yudaoni:
了解你的意思,和本文并无冲突。
这篇文章的内容是讲要让自己的网站支持OpenID登陆而需要做的一些工作,这些工作都是需要对现有会员系统所做的更改,在本地只是存储现有用户名和OpenID的映射关系,并不会存储与OpenID验证有关的任何内容,所有的资格验证都是在OpenID提供网站完成的。
01/21/2008