基于 OAuth 安全协议的 Java 应用编程
2010-03-22 00:00:00 来源:WEB开发网服务提供方通过 URL 引导用户重新回到消费方那里,这一步也是浏览器的行为。
在获得授权的 Request Token 后,消费方使用授权的 Request Token 从服务提供方那里换取 Access Token。
OAuth 服务提供方同意消费方的请求,并向其颁发 Access Token 及其对应的 Token Secret。
消费方使用上一步返回的 Access Token 访问用户授权的资源。
总的来讲,在 OAuth 的技术体系里,服务提供方需要提供如下基本的功能:
第 1、实现三个 Service endpoints,即:提供用于获取未授权的 Request Token 服务地址,获取用户授权的 Request Token 服务地址,以及使用授权的 Request Token 换取 Access Token 的服务地址。
第 2、提供基于 Form 的用户认证,以便于用户可以登录服务提供方做出授权。
第 3、授权的管理,比如用户可以在任何时候撤销已经做出的授权。
而对于消费方而言,需要如下的基本功能:
第 1、从服务提供方获取 Customer Key/Customer Secret。
第 2、提供与服务提供方之间基于 HTTP 的通信机制,以换取相关的令牌。
我们具体来看一个使用 OAuth 认证的例子。
在传统的网站应用中,如果您想在网站 A 导入网站 B 的联系人列表,需要在网站 A 输入您网站 B 的用户名、密码信息。例如,您登陆 Plaxo (https://www.plaxo.com ),一个联系人管理网站,当您想把 GMail 的联系人列表导入到 Plaxo,您需要输入您的 GMail 用户名 / 密码,如图 3 所示:
图 3. 在 Plaxo 获得 GMail 联系人
更多精彩
赞助商链接