OAuth 1.0协议

OAuth的简史

2007 年12月4日发布了OAuth Core 1.0(OAuth 1.0),此版本的协议存在严重的安全漏洞:OAuth Security Advisory:2009.1。2009年6月24日发布了OAuth Core 1.0 Revision A:此版本修复了前一版本的安全漏洞,并成为RFC5849。

OAuth 2.0是OAuth协议的下一版本,但不向后兼容OAuth 1.0。OAuth 2.0关注客户端开发者的简易性,同时为web应用桌面应用手机起居室设备提供专门的认证流程。

什么是OAuth协议?

OAuth(开放授权)是一个开放标准。允许第三方应用,在用户授权的前提下访问用户在服务商那里存储的各种资源。而这种授权无需用户将用户名和密码提供给第三方应用

OAuth允许用户提供一个令牌给第三方应用,一个令牌对应一个特定的第三方应用,同时该令牌只能在特定的时间内访问特定的资源。

OAuth 1.0的原理和授权流程?

OAuth的认证和授权过程涉及的三方包括:服务商,用户使用服务的提供方,一般用来存消息,照片,视频,文件等。用户,服务商的用户。第三方,通常是网站,该网站想要访问用户存储在服务商那里的资源。比如某个提供照片打印服务的网站,用户想在那里打印自己存在服务商那里的网络相册中的照片。OAuth认证和授权的过程如下

  1. 用户访问第三方网站,想对用户存放在服务商那里的照片进行打印。

  2. 第三方网站向服务商请求一个临时令牌

  3. 服务商验证第三方网站的身份后(在OAuth里,服务提供方以一组消费方键值和消费方密钥来鉴定消费方(正如用登录名和密码来鉴定用户)。 这种识别方式使得服务提供方可以向消费方开放不同的访问级别),授予一个临时令牌

  4. 第三方网站获得临时令牌后,将用户导向至服务商的授权页面请求用户授权(输入用户名与密码),然后这个过程中将临时令牌第三方网站的返回地址发送给服务商。

  5. 用户在服务商的授权页面上输入自己的用户名和密码,授权第三方网站访问所相应的资源。

  6. 授权成功后,服务商将用户导向第三方网站的返回地址页面

  7. 第三方网站根据临时令牌从服务商那里获取访问令牌

  8. 服务商根据临时令牌和用户的授权情况授予第三方网站访问令牌

  9. 第三方网站使用获取到的访问令牌访问存放在服务商那里的应用的用户资源。

以第三方网站访问新浪微博为例的图例:

OAuth 1.0协议

注:OAuth1.0 过时了!

OAuth2的大规模应用貌似是从facebook开始兴起的,然后国内的厂商在后面开始跟进。


参考 - OAuth那些事儿http://huoding.com/2010/10/10/8




你可能感兴趣的:(OAuth 1.0协议)