Coding Horror 上的名人 Jeff Altwood 在最近的一篇博文中描述了在 web 站点开发者中的一种日益增加的、常见的、但是非常不受人欢迎的行为——获取你 email 的用户名和密码,这样该服务就能查看你的 email 联系人以检查这些联系人中是否有人也在使用该项服务。Jeff 以 Yelp 网站为例说明了这个问题,其实他还可以用 LinkedIn(请看下面)或者任何其他站点做例子。
Jeff 非常坦率地强调为什么这是一个问题。简言之“他们能很快找到我家的钥匙以快速翻阅我的地址簿”。
很多公司和个人正在尝试解决该问题,包括 Google、Yahoo、Microsoft 以及 OAuth 项目。OAuth 是由 Blaine Cook、Chris Messina、Larry Halff 及 David Recordon 共同发起的,目的在于为 API 访问授权提供一个开放的标准。OAuth 讨论组于 2007 年 4 月建立,以便向这个小组的实现者提供一种机构来编写协议草案。Eran Hammer-Lahav 与 Google 的 DeWitt Clinton 在开发过程中做出了巨大的贡献。规范的 1.0 版于 2007 年 12 月 4 日发布。
从高层次来看,OAuth 按以下方式工作:
- 你的站点已与不同的 webmail 服务供应商建立了关系。
- 你共享一个密码短语或者公钥,这样你就能使用它访问 web 联系人。
- 你根据 webmail 服务供应商将用户重定向到登录页面。
- 该用户登录然后告诉 webmail 服务供应商你的站点访问其地址薄是没问题的。
OAuth 正通过许多实现(包括针对 Java、C#、Objective-C、Perl、PHP 及 Ruby 语言的实现)获得巨大的动力。大部分实现都由 OAuth 项目维护并放在 Google 代码库上。Ryan Heaton 已经实现了针对 Spring security 的 OAuth,你能从这里找到它。支持OAuth 的站点包括Twitter、Ma.gnolia 与Google(你可以在这里看到关于Alpha 版的帖子)。
查看英文原文: OAuth Gaining Momentum
评论