用博客地址作为OpenID的身份标识

  • Posted on
  • by

很多网站要求用户在使用服务之前先注册。这不仅麻烦,而且存在极大的安全隐患。特别是当这个网站没有足够的能力来保护用户资料,或者这个网站漠视用户隐私的时候。但是,如果这个网站支持OpenID,那么用户就可以避开这些风险。

OpenID是一个去中心化的网上身份认证系统。任何网站都可以使用OpenID作为登录方式,任何网站也都可以提供OpenID的认证。

用户随时可以更改身份认证提供商。比如,你使用了Yahoo的身份认证服务。可是过了一段时间,Yahoo对你不是那么有用,那么你可以改用经常使用的Google的身份认证。不过这还是存在一个问题,你的数字身份标识是提供身份认证网站的网址,如果你更改身份认证提供者,那你的网上身份会还是会让人迷惑。

既然OpenID是去中心化的,那如果你有自己的域名或博客,何不用自己的域名或博客地址作为OpenID的身份标识?

要做到这一点,你可以在自己的网站上提供自己的身份认证,这个用PhpMyID很容易就做到。这种方式把全部信息放在自己的服务器上,很安全,但是你要自己维护。你也可以只是使用你的域名或博客地址作为你的身份标识,把认证的服务交给专业的网上身份认证提供商。

比如,我想用我的域名www.veryword.com作为我在网上的身份标识,把认证的工作交给Google,只要在网站首页头文件加上如下代码(Google提供的OpenID协议是2.0版本):

<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/PROFILEID" >

如果OpenID身份认证提供商支持的OpenID是1.0版本的,比如myopenid,那么添加如下代码:

<link rel="openid.server" href="http://www.myopenid.com/server" />

<link rel="openid.delegate" href="http://YOURID.myopenid.com/" />

那么,当我在支持OpenID登录的网站输入www.veryword.com的时候,这个网站会根据头文件的信息去OpenID身份认证提供商Google寻求身份验证,我在Google登录以后,Google会向寻求验证的网站确认我的身份。

使用OpenID的时候,要防止被钓鱼网站窃取帐号密码。因为在支持OpenID登录的网站转向OpenID身份认证提供商寻求身份验证的过程中,如果你输入用户密码,信息可能被截获。最好是首先登录OpenID身份认证提供商的网站,再寻求身份验证。

UPDATE:方法失效