Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1414084
  • 博文数量: 1125
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 16710
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-03 14:05
文章分类

全部博文(1125)

文章存档

2011年(1)

2008年(1124)

我的朋友

分类: 服务器与存储

2008-12-18 11:40:09

   “云计算”已经成为了一个,但是“云标准”却还没有。使用主流搜索引擎查询,首页也少有相关的结果,但也许这只是一个还没有被引爆的热词。根据,所谓云标准,是一系列已经存在的,以轻量级和开源为其主要特征的标准,这些标准支撑了云计算的快速发展。换句话说,这些标准正是云计算所积淀下来的精髓所在,更需要我们加以学习和关注。

根据wikipedia的分类,云标准大概可以分成如下几类:应用中的通讯(HTTP, XMPP)、安全(OAuth, OpenID, SSL/TLS)、聚合(ATOM),客户端(HTML5, Ajax),基础设施(OVF),平台(LAMP),服务中的数据(XML, JSON)、Web Service(REST),存储等等。可以看到,这个列表中不少已经是老面孔,但也有不少是最近涌现的新兵,本篇介绍的正是其中之一。

什么是OpenID,有什么用?

OpenID是一个开源、去中心化的登录标准,它允许用户使用唯一的数字标识去登录多种互联网服务。

OpenID提出的动机也非常简单——简化互联网用户的登录认证过程。目前互联网的现状是这样:每个提供服务的网站都自己有一套用户登录系统,在甲站点需要一对用户名密码,在乙站点又需要另一对。久而久之,众多的用户名、密码就会变得难以记忆和管理。也许你会觉得,用统一的用户名密码不就可以解决了吗?首先,同样的用户名可能在不同的网站上可能已经被别人使用(找个难记的生僻名字,你真的愿意用它吗?);其次,从安全角度看,网站的可依赖程度不同,同样的用户名密码有可能被泄露出去。同时令人烦恼的事情还有,在不同网站注册的时候,每次都需要提供一定的个人信息,为什么这样的信息不能够共享?你在一个网站上结交了一群好朋友,当你发现另外一个新奇有趣的好网站,希望邀请你的朋友们一起来玩时,他们是否愿意重复一遍这样枯燥的注册过程,为什么这样的信息不能够共享?换言之,互联网的格局就好像是一潭潭分隔开的死水,互联网用户并不被当作一个真实的个体,个体相关的信息没有办法共享。其实,生活中已经存在着这样的类比。每次当我带着身份证去办理各种业务,还被要求填写各种各样的个人基本信息的时候,就会想,如果有一个权威的认证机关,你和它完成身份确认,并由你授权将某些部分信息提供给第三方,事情就会简化很多。又如,打开钱包看一看,各种各样的卡琳琅满目,真正的一卡通何时能够到来?

OpenID就好比这样的源头活水。它以URL的方式进行认证,比如在google上的帐号,或者自己能控制的博客,这些都可以做为OpenID的认证方式,因为它们在互联网上是唯一的。每个人只需要找一个可靠的认证服务商,并且向它证明你拥有它,就可以登录其它许多支持OpenID的站点。

如何得到OpenID,哪里能用

已经有很多主流公司愿意为你做这样的认证服务,比如Google, Microsoft, Yahoo!, AOL, IBM, MySpace, VeriSign以及很多专门提供OpenID服务的网站(像, )等等。也就是说,如果你拥有一个gmail邮箱,或者Live ID,你事实上就已经拥有了一个OpenID。如果还没有的话,也可以自行选择任意一家你信任的OpenID提供商去注册一个。截止2008年11月,互联网上已经有5亿个OpenID,超过27,000个站点支持使用OpenID登录。提供OpenID支持的网站正在快速增长之中,请参考。是否想实战一下?比如,你可以试着用你的google帐号登录或者 (using Google Friend Connect)。

OpenID的主要认证过程如何?

在一次OpenID认证中,主要角色如下。

  • End User:最终用户,希望向一个站点表明身份的人。
  • Identifier:最终用户所选择的表达他们身份的URL或者
  • OpenID Provider:OpenID认证提供商,他们愿意提供注册URL和XRL的服务,并且提供OpenID认证。
  • Relying Party:希望验证用户的身份,依赖OpenID provider提供认证服务的站点。OpenID provider和relying party可以合二为一,但目前大多数OpenID provider,比如google,只提供OpenID认证,并不支持直接使用第三方认证的OpenID登录。
  • Server agent:提供认证的服务器。
  • Client agent:终端用户用于访问OP/RP的浏览器。

,认证过程如下。

  1. Web网站要求用户登录,并提供了一些登录选项,比如利用Google提供的OpenID认证。
  2. 用户选择”Sign in with Google”。
  3. Web网站向Google发送”discovery”请求接入地址。
  4. Google回复XRDS文档,包含了接入地址。
  5. Web网站向Google提供的接入地址发送登录认证请求。
  6. 用户并重定向到Google的登录页面。
  7. 用户使用google账号登录。Google告知用户是哪个第三方Web站点请求认证,以及询问第三方站点是否允许访问用户的某些个人信息。
  8. 如果用户同意,则Google将用户返回Web网站,同时提供用户的身份识别。
  9. Web网站利用Google提供的身份识别用户,同时访问被许可的用户数据。

身份控制之争

由于身份认证功能是如此普遍,各大互联网公司都希望分一杯羹。吸引用户使用认证服务,实际上就更能更紧密地绑定用户。引人注目的是,Facebook推出了自己的竞争技术Facebook Connect。Facebook Connect是专利技术而OpenID是开源技术,谁将更胜一筹?这里有一个——Facebook占尽先机,但OpenID潜力无限。

的确,OpenID目前还比较。但各巨头的加入正在使这种情况迅速改观。不久前google也基于OpenID的技术,任何站点都可以使用。我实际操作了一下,并不复杂,马上就能为站点增加social因素。

  1. 将两个特定的文件(rpc_relay.html, canvas.html)拷贝到服务器上。比如本博的根目录。
  2. 定制参数并拷贝google提供的某个gadget(members)代码。
  3. 修改页面加入gadget代码,比如wordpress的sidebar.php中。
  4. 尝试其它更多的social特性。
阅读(853) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~