OpenID和现在大型门户网站流行的“通行证”系统完全不同,“通行证”系统注册一个账号就可以同时登录使用该门户网站的多项服务。但这仅仅解决了一个网站的问题,不能在多个不同的网站中使用。“通行证”系统是私有协议,不开放。
OpenID和微软Passport身份认证系统也有很大的不同,微软Passport虽然可以提供给多个不同的网站使用,但是它还是属于集中式身份认证系统,系统的掌控权还是在微软手中,这样垄断的手法使得Passport一直没有得到很大的认同。OpenID是一种分布式身份认证系统。用户完全可以自由选择自己的OpenID提供商。支持OpenID登录的网站不限定OpenID的来源,只要支持OpenID标准协议即可。
OpenID的核心思想是,用户采用一个自己拥有的URI来代表自己的身份,而OpenID提供了一种技术手段来确保用户拥有这个URI。针对chenweiyi.openid.cn这个OpenID,openid.cn这个OpenID提供商来提供对chenweiyi.openid.cn的密码验证。
chenweiyi.openid.cn的拥有者在使用这个OpenID的时候,有两种办法:
一是直接输入chenweiyi.openid.cn进行身份验证。
另外的办法是在自己拥有的域名或者blog地址中,在index.htm(或者其它的默认静态页面)中的<HEAD></HEAD>中插入以下的代码:
<link rel="openid.server" href="http://www.openid.cn/openid.server">
<link rel="openid.delegate" href="http://chenweiyi.openid.cn/">
这样,使用任何一个插入了以上代码的域名,都将作为和chenweiyi.openid.cn具有同等效力的OpenID。在支持OpenID的网站登录的时候,输入任何一个插入了以上代码的域名作为OpenID登录,结果都将跳转到openid.cn进行身份验证,而且用户名必须也只能是chenweiyi。
如果验证成功,用户输入的域名或者blog的地址就代表了用户的身份。由于在域名的首页中插入代码的权限属于域名的拥有者,这就确保了该域名就直接代表了用户的身份。而且,由于从OpenID提供商得到的URI可能很长,不方便记忆,而采用用户自己拥有的域名首页插入代码的方法,可以使得用户自己的OpenID很方便用户记忆。
比如用户如果拥有www.chen.com这个域名,那么插入首页代码后,使用这个域名作为OpenID显然比chenweiyi.openid.cn更有优势。
而且,还有一个重要的原因,推荐用户使用自己的域名来作为自己的OpenID。由于OpenID是一个分布式的身份验证方式,用户可以在多个OpenID提供商处注册,得到不同的OpenID。自己想使用哪个OpenID提供商提供的身份验证时,就在自己域名的首页中放置不同的验证服务器。这样即使更换OpenID提供商,自己的域名无需更改,在登录其它网站时还是使用自己的域名进行登录。这样可以有效防止OpenID崩溃或者速度缓慢,可以使自己不依赖任何一家提供商。这也是OpenID的分布式验证体系的可贵之处。
附件:
OpenID官方网站:http://openid.net/
OpenID的标准:http://openid.net/specs/openid-authentication-1_1.html
联系客服