OAuth2.0与1.0的对比总结

云计算引出了大量的开放平台,各种第三方应用建立在开放平台之上,出于安全性的要求便出现了oauth协议,2007年发布了Oauth1.0协议,2.0的草案与2011年发布。

1、2.0的用户授权过程(过程可参考流程图)

  • 引导用户到授权服务器,请求用户授权,用户授权后返回 授权码(Authorization Code)
  • 客户端由授权码到授权服务器换取访问令牌(Access Token)
  • 用访问令牌去访问得到授权的资源

  (Client指第三方应用,Resource Owner指用户,Authorization Server是我们的授权服务器,Resource Server是API服务器。)

2、1.0的用户授权过程

  • 客户端到授权服务器请求一个授权令牌(Request Token&Secret)
  • 引导用户到授权服务器请求授权
  • 用访问令牌到授权服务器换取访问令牌(Access Token&Secret)
  • 用访问令牌去访问得到授权的资源

3、两者的对比:

  OAuth1.0协议每个Token都有一个加密,2.0则不需要。这样来看1.0似乎更加安全,但是2.0要求使用https协议,安全性也更高一筹。

  OAuth2.0充分考虑了客户端的各种子态,因而提供了多种途径获取访问令牌

    a)授权码

         b)客户端私有证书

         c)资源拥有者密码证书

         d)刷新令牌

         e)断言证书

   OAuth1.0只有一个用户授权流程。

   OAuth2.0较1.0相比,整个授权验证流程更简单更安全,也是未来最主要的用户身份验证和授权方式。

原文地址:https://www.cnblogs.com/fangchun/p/4521973.html