OAuth 学习总结

【什么是OAuth】

一种为用户的资源授权提供安全,开放的标准的协议;它可以使第三方不触及用户的账号和信息,从而不会带来安全问题;

【OAuth的流程】

A:请求未经授权的request token;

B:请求经授权的request token;

C:  用授权的request token获取access token; 

 

 A. 使用者(第三方软件)向OAUTH服务提供商请求未授权的Request Token。向Request Token URL发起请求,请求需要带上的参数见上图。   

   B. OAUTH服务提供商同意使用者的请求,并向其颁发未经用户授权的oauth_token与对应的oauth_token_secret,并返回给使用者。   

   C. 使用者向OAUTH服务提供商请求用户授权的Request Token。向User Authorization URL发起请求,请求带上上步拿到的未授权的token与其密钥。   

   D. OAUTH服务提供商将引导用户授权。该过程可能会提示用户,你想将哪些受保护的资源授权给该应用。此步可能会返回授权的Request Token也可能不返回。如Yahoo OAUTH就不会返回任何信息给使用者。   

   E. Request Token 授权后,使用者将向Access Token URL发起请求,将上步授权的Request Token换取成Access Token。请求的参数见上图,这个比第一步A多了一个参数就是Request Token。   

   F. OAUTH服务提供商同意使用者的请求,并向其颁发Access Token与对应的密钥,并返回给使用者。   

  G. 使用者以后就可以使用上步返回的Access Token访问用户授权的资源。

【2.0 和1.0 区别】

Oauth1.0与oauth2.0的区别

云计算的热火,引出了大量的开放平台,各种第三方应用建立在开放平台之上,对于安全性的要求,于是出现了oauth协议,2007年发布了Oauth1.0协议,同时又开始了Oauth2.0的讨论,2.0的草案与2011年发布。新的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只有一个用户授权流程。

【各个平台支持情况】

Client Libraries

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值