Oauth2.0和Oauth1.0的区别

最近研究论坛里那个微薄验证授权的代码:终于看懂了不过到官方网站一下,原来是一代oauth认证。不过也好,二代简单了。呵呵。
* OAuth2.0不需要签名了。之前所有的复杂的signatureBaseString计算、appSecret、 tokenSecret什么的都成浮云了,现在所有请求不需要签名了。所有二版微博API都使用HTTPS了。

* 相对于1.0的Request_Token换Authorization_Code,Authorization_Code再换Access_Token的授权模式,2.0提供了一种更简洁给力的授权码方式:Authorization_Code直接换Access_Token模式。
所以OAuth2.0的登录API只有两个oauth2/authorize和oauth2/accesstoken。其实之前之所以要多一个获取Request_Token的步骤,主要是为了Server来认证Client(还记得申银万国吗),看client是不是一个合法的注册过的Client。

* 当然OAuth2.0不止一种授权模式,共有四种, 新浪微博实现了最主要的3种:授权码式、用户名密码式、隐藏式。
授权码式就是上面提到Authorization_Code直接换Access_Token模式,登录需两步。
用户名密码式可实现一步登录(当然前提是用户得信任你的app才会乖乖给你密码)。
隐藏式也是一步登录,适用于JavaScript等脚本语言做逻辑处理的web客户端。


* OAuth2.0里的Access_Token与1.0里的不同。1.0里包含3个字段: UserID, AccessToken, AccessTokenSecret。2.0里也包含3个字段:  AccessToken (根据网友"U点意思"提供的情报,2.0的Access_Token字段,每次返回的值不一样。这与1.0中Access_Token字段值永远不变,是个很大的区别)
ExpiresIn (AccessToken的过期时间,按秒计,很短,默认可能是1个小时)
RefreshToken  (AccessToken过期时,用来获取新的AccessToken,具体做法是当使用AccessToken时收到类似TokenInvalid或者TokenExpired的错误时,调用oauth2/accesstoken接口传递RefreshToken以获取新的AccessToken)

* OAuth2.0引入了Authorization Server的概念(越来越像微软的WIF-Window Identity Model)。对于我们开发者而言,没必要区分Authorization Server和Resource Server,我们看到的就是新浪微博Server。

* 使用OAuth2.0访问新浪微博API更简单了,只需要传递一个AccessToken值

*所有API只返回Json格式了,没有XML格式的了。(这是为虾米)


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

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

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

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

         1.0的授权分3步,

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

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

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

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

四、       Oauth1.0Oauth2.0的区别

auth1.0与Oauth2.0是相互不兼容的,所以他们为我们提供了不同的授权方式:

 

 

2.0的用户授权过程有3步:

         A)用户到授权服务器,请求授权,然后返回授权码(AuthorizationCode)

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

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

总结:获取授权码(Authorization Code)—>换取访问令牌(access_token)—>访问资源:

 

 

1.0的授权分4步,

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

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

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

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

总结:请求授权令牌(request token&secret)—>换取访问令牌(access token&secret)—>访问资源

 

 

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

 

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

客户端私有证书、资源拥有者密码证书、刷新令牌等方式,而且验证过程更为简洁。

相比之下 1.0只有一个用户授权流程。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值