OAuth协议获得网络服务安全协议授权

日期: 2011-11-17 作者:Jack Vaughan翻译:张培颖 来源:TechTarget中国 英文

使用基于令牌(token-based)的安全模式,导致OAuth(开放授权)协议最近在安全和服务界备受瞩目。尽管OAuth并不是人人皆知的词语,但是也会逐渐为人们所熟知。最著名的OAuth应用就是Facebook平台。

  通过其令牌模式的使用,OAuth可以让Web应用用户,在初始设置对话后,在站点间转移,而无需额外的登录。同样,也能够进行很多惊人的应用集成和mashup,让现代Web更加时髦。如,用户的Facebook用户名和密码不会公开其Facebook凭证。OAuth的用途要更为先进,如同已经为与Web关联的移动设备所利用的应用一样。

  OAuth在IETF的支持和监护下进行标准化和版本升级。创建工作始于2006年,由一位Twitter软件工程师进行,IETF工作组2010年末指导形成了v.2.0,这个工作组包含了来自微软、Facebook、雅虎和其他Web软件相关的人员。

  OAuth已经成为站点和连接的软件服务间移动的预备含义。如果用户以后否定对于一个网站的信任,用户可以通过个人设置撤销那个网站的通过令牌。

  当然,OAuth允许客户节点访问服务器资源代表了一种“资源所有者。”终端用户可以授权第三方访问服务器资源,而不用费力地共享凭证。对于很多企业来说,但是对于现在支持混合Web应用类型的企业来说,Oauth可能和其他服务并肩作战,例如,SAML。OAuth理念类似一些“刚刚好”或者“足够好”的理念。在这样的例子中,就意味着OAuth为若干通用应用设计模式提供了充足的安全。

  虽然,WS-Trust和WS-Security和基于SOAP的Web服务应用类型结盟,OAuth和基于REST的Web服务应用类型同源。

  OAuth令牌字符串

  “简单”是OAuth的既定目标。初始设置后,客户端发送凭证给授权服务器(例如,Facebook.com),服务器随后返回一个访问令牌。之后,客户端可以通过这个访问令牌发送HTTP请求到资源服务器(如LinkedIn.com),资源服务器将发送HTTP响应回来。资源拥有者可以设置访问时间限制。刷新令牌用于当访问令牌的有效期短于资源所有者的时间时。这种方式可以根据不同的客户端类型(如PC、智能手机、笔记本等)来获取令牌。

  IETF的Oath文档声明令牌字符串可以使用授权服务器和资源服务器间协定的任何内部结构,但是他们的结构对于客户端和资源服务器是隐藏的,这也为开发者调试增加了复杂度。总之,开发者可能发现Oath的简单是骗人的,和服务API协作仍旧像艺术。互操作性不能保证开箱即用,就像任何的新标准一样,要和应用终点匹配需要一个迭代的过程。

  但是,OAuth对于REST的天赋将其向更广大的开发者敞开,这部分人要远多于关注SOAP的。

  OAuth明显对于敏感安全和核心任务应用有局限性。用户所需的就是用户名和密码。用户认证从资源网站实现。(正如著名的言论“互联网上没人知道你是一条狗。”)

  OAuth将简单性作为目标,尝试坚持“刚刚好”的座右铭,但是“刚刚好”也已经有大量应用了。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

Jack Vaughan
Jack Vaughan

TechTarget新闻记者和网站编辑,主要关注数据管理领域的技术趋势和动态。

翻译

张培颖
张培颖

云计算网站编辑

相关推荐

  • OAuth API密钥如何降低API安全威胁

    API聚合平台Apigee的首席安全架构师Subra Kumaraswamy与我们讨论了API安全的最佳实践方式。

  • API开发与管理大作战

    2014将会是API管理方法新旧PK的一年,据Delyn Simons说,她领导了Mashery开发者的外展团队。应用编程接口(API)的主流化和私有化在新的一年也将掀起波澜,她在波士顿“Future Insights Ultimate Developer Event 2013”大会上预测说。

  • 公共API外包管理是否值得考虑?

    公共API外包管理是指聘请一个专家小组来解决可扩展性问题,同时也提出几套可替代的方案。

  • 最适合大数据应用的是SOA还是REST?

    跟所有的企业数据一样,大数据唯有通过应用投射给用户才有用。对于设计或重新设计大数据应用的架构师来说,一个关键问题是究竟是用SOA还是RESTful的API?