果子林的猫窝

Just another WordPress.com site

Posts Tagged ‘译文

Introduction – The Authoritative Guide to OAuth 1.0

leave a comment »

翻译自http://hueniverse.com/oauth/guide/
这是介绍OAuth的文档,状态是还在编写中,但是更新日期停滞在了09年,这是其中的第一篇Introduction。

网站的备用钥匙

许多高档汽车都配有备用钥匙。这是一种为司机提供的特殊的钥匙,用它发动后,车辆只能行驶一小段距离,并且无法打开后备箱也无法使用车载电话。使钥匙的功能有所限制是个非常棒的主意。你对自己的汽车拥有完全的控制权,而其他人只能使用其部分的功能。

互联网高速的发展,随着越来越多的站点开始使用分布式服务和云计算:照相馆直接打印你储存在Flickr中的照片,社交网站通过你的Google联系人寻找你的好友,或者第三方的程序通过API使用各种服务。

为了访问你的个人数据,这些站点会向你索取账号名和密码。这样就产生了一个问题,你的密码可能会因此泄露,并且一般情况下你不会为每个站点设置不同的密码,在某种意义下,这个站点便会获得你其他站点中的使用权限,甚至银行账户。

OAuth提供了一个可以让第三方在获取用户数据的同时,保证他们的密码不被泄露的方法。此外,它还可以对授予的权限进行控制(如操作的范围、时长等等)。

例如:用户(资源所有者)可以不用提供帐户密码就授予打印服务商(客户)访问其存储在照片分享站点(服务商)中的私人照片的权限。换句话说,用户向客户提供了服务商的指定委托认证。

改进服务端/客户端模型

在传统的客户端-服务器认证模型下,客户使用自己的凭据来访问服务器中的资源。OAuth在这个模型中引入了第三种角色:资源所有者。在OAuth模型中,客户(不是资源所有者,但是可以代表这个角色)向资源所有者请求获取存储在服务端中资源的控制权。

客户为了访问资源,他首先需要获取资源所有者的许可。许可的形式是经过共享密钥加密后的令牌。令牌的作用是使资源所有者不用再向客户提供他的凭据。与凭据不同,令牌可以限制其适用范围、生命周期并且可以单独地销毁。

发展过程

受Microformats团队的启发,OAuth决定从现有的成功案例中构建其第一个版本的协议。为此OAuth向诸如Google AuthSub, Yahoo BBAuth, and Flickr API中吸取了诸多经验。

每种认证协议都提供了不同的方法用于将用户凭据转换成令牌。OAuth在设计时十分小心地研究了这些协议,并且同作者交流,提炼出最好的对策为新的实现提供支持,以便它们在对OAuth的支持过程中实现平滑过渡。

同部分协议和服务相比,OAuth显得更为先进,因为他可以直接对非站点的服务进行操作。OAuth内置了对桌面程序、移动设备、机顶盒、网站的支持。

Written by alzzl

2010/09/30 at 14:43

发表在 未分类

Tagged with ,