云计算的热火,引出了大量的开放平台,各种第三方应用建立在开放平台之上,对于安全性的要求,于是出现了oauth协议,2007年发布了Oauth1.0协议,同时又开始了Oauth2.0的讨论,2.0的草案与2011年发布。新的2.0与1.0不兼容。下面说一说2.0与1.0的区别:

1、2.0的用户授权过程有2步,

         A)引导用户到授权服务器,请求用户授权,用户授权后返回 授权码(Authorization Code)

         B)客户端由授权码到授权服务器换取访问令牌(access token)

         C)用访问令牌去访问得到授权的资源

         1.0的授权分3步,

         A)客户端到授权服务器请求一个授权令牌(request token&secret)

         B)引导用户到授权服务器请求授权

         C)用访问令牌到授权服务器换取访问令牌(access token&secret)

         D)用访问令牌去访问得到授权的资源

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

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

         a)授权码

         b)客户端私有证书

         c)资源拥有者密码证书

         d)刷新令牌

         e)断言证书

         1.0只有一个用户授权流程。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐