Google黑板报

谷歌中文网站管理员博客

Google 黑板报

Google新闻

Google AdSense China Blog

Google Developer Blog China

与G共舞

非官方的google黑板报

2008年11月1日星期六

谷歌偷换了OpenID的概念?

原文:http://www.gseeker.com/50226711/eaeopenidcie_162131.php
今天,TechCrunch郑重的
报道了谷歌官方博客郑重发布的一则消息,gmail可以用作OpenID了!但是,目前,我还没有发现支持OpenID登陆的网站支持Gmail作为OpenID登陆。谷歌Gmail作为OpenID,还不符合OpenID的标准协议:

  1.作为标准的OpenID,应该是URL的格式:

  http://openid.zuosa.com/hongxiaowan;

  2.而作为谷歌标准的OpenID,是email的格式;

  hongxiaowan@zuosa.com;

  其实,这两种格式在逻辑意义上都是一样的,这两者究竟应该哪一个更加方便呢?不用说,谷歌的格式对于用户来说更加方便,OpenID推广的一大困难就在于URL格式的ID。不过,谷歌显然没有必要推出自己的一套标准,要支持email格式的,只要在OpenID上面加一个解释过程就可以了。这个在OpenID 2.0的讨论中已经有所涉及:

  1.登陆的时候用email的格式,比如:

  hongxiaowan@zuosa.com;

  2.将email格式解释为URL格式,比如:

  http://openid.zuosa.com/hongxiaowan;

  就此,URL和email格式的OpenID就整合到一起了,用email作为OpenID登陆等价于URL格式的OpenID,这是一个最简单的方案:

  1.由OpenID供应商提供API,返回OpenID的URL格式:

  比如API的URL是http://openid_url_api.zuosa.com,

  返回的URL格式是:

  http://###openid_domain###/###openid_id###

  可以对应于这样的URL:

  http://openid.zuosa.com/hongxiaowan

  2.根据email格式的OpenID返回URL格式的OpenID:

echo openid_convert_email_to_url("hongxiaowan@zuosa.com");

function openid_convert_email_to_url($openid_email)
{
$openid_pieces = explode("@", $openid_email);
$openid_url_format=file_get_contents("http://openid_url_api.".$openid_pieces[1]);
$openid_url=str_replace("###openid_domain###",$openid_pieces[1],$openid_url_format);
$openid_url=str_replace("###openid_id###",$openid_pieces[0],$openid_url);
return $openid_url;
}
?>
继续.

没有评论:

发表评论

欢迎你的评论:

博客归档

欢迎留言