当前位置:网站首页 > 技术博客 > 正文

oauth2.0和sso



 

解释

优点和缺点

 

OAuth2.0

主要有4种授权模式,最全面的是授权码模式。见下图

改进1:去掉签名,改用SSL(HTTPS)确保安全性。

改进2:所有的token不再有对应的secret存在,签名过程简洁,这也直接导致OAuth2.0不兼容老版本。

改进3:能更好地支持不是基于浏览器的应用。

改进4:OAuth2.0的访问令牌是“短命的”,且有刷新令牌(OAuth1.0可以存储一年及以上)

 

 

OAuth1.0a

1.向服务器端请求未授权的request token,入参

oauth_consumer_key oauth_signature_method oauth_signature oauth_timestamp oauth_nonce oauth_version oauth_callback

2.服务器返回未授权request token

oauth_token oauth_token_secret oauth_callback_confirmed

3.传参未授权request token请求资源存储服务器的授权页

oauth_token

4.授权成功,返回授权后的request token

oauth_token oauth_verifier
5.使用授权的request token换取access token

oauth_consumer_key oauth_token oauth_signature_method oauth_signature oauth_timestamp oauth_nonce oauth_version oauth_verifier

6.返回access token与access token secret换取资源。

oauth_token oauth_token_secret

总结:OAuth1.0a和OAuth1.0的过程看起来一样,但是改进了每一步骤里面的入参和返回值,仔细一看是不一样的。

具体改进1:将oauth_callback回调时机提前,参与签名过程。下一步将没办法伪造回调地址。

具体改进2:用户授权后,返回oauth_verifier,它会被用Consumer申请Access Token的过程中。攻击者无法猜测它的值。

 

缺点:

1.使用的是http协议

2.签名过程复杂而实用性不高。

 

OAuth1.0

1.客户端向资源服务器请求未授权Request Token,传入以下参数

oauth_consumer_key oauth_signature_method oauth_signature oauth_timestamp oauth_nonce oauth_version

2.服务器返回未授权Request Token和secret,返回参数如下:

oauth_token oauth_token_secret

3.客户端入参oauth_token oauth_callback请求服务器,调起授权页面

oauth_token oauth_callback

4.等用户授权后,回到客户端,返回授权Request Token

oauth_token

5.获取到授权Request Token,再向资源服务器换取票据accessToken,传入参数:

oauth_consumer_key oauth_token oauth_signature_method oauth_signature oauth_timestamp oauth_nonce oauth_version

6.返回oauth_token oauth_token_secret

 

优点:步骤1是签名过程

缺点:

1.用的是http协议,申请RequestToken过程中,容易被攻击者调包。

2.攻击者调包后的目的就是伪造回调地址,拿到用户的accessToken。

那么OAuth1.0a的产生主要是为了修复以上的问题。

 

  • 上一篇: 掩码怎么弄
  • 下一篇: sql触发器菜鸟教程
  • 版权声明


    相关文章:

  • 掩码怎么弄2025-04-14 21:30:00
  • pop_front()2025-04-14 21:30:00
  • linux file-nr2025-04-14 21:30:00
  • 2020最新空白符号2025-04-14 21:30:00
  • python的jieba库教程2025-04-14 21:30:00
  • sql触发器菜鸟教程2025-04-14 21:30:00
  • js实现轮播图原理及示例2025-04-14 21:30:00
  • 单片机c语言编程入门教程2025-04-14 21:30:00
  • 图的遍历总结2025-04-14 21:30:00
  • 深度卷积神经网络模型2025-04-14 21:30:00