OAuth1.0与OAuth2.0的区别与联系

Posted 架构师之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OAuth1.0与OAuth2.0的区别与联系相关的知识,希望对你有一定的参考价值。

一、OAuth1.0的用户授权过程


  1. 客户端到授权服务器请求一个授权令牌(Request Token&Secret)

  2. 引导用户到授权服务器请求授权

  3. 授权令牌到授权服务器换取访问令牌(Access Token&Secret)

  4. 用访问令牌去访问得到授权的资源


二、OAuth2.0的用户授权过程


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

  2. 客户端由授权码到授权服务器换取访问令牌(Access Token)

  3. 用访问令牌去访问得到授权的资源


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


三、两者的比较


  1. OAuth1.0所有的token都对应一个secret存在,需要数字前面,来确保安全性;OAuth2.0去掉了数字签名,改用SSL来保证安全性,这也导致OAuth1.0与OAuth2.0两个版本不兼容。

  2. OAuth1.0虽然在安全性上经过修补已经没有问题了,但还存在其它的缺点,其中最主要的莫过于以下两点:其一,签名逻辑过于复杂,对开发者不够友好;其二,授权流程太过单一,除了Web应用以外,对桌面、移动应用来说不够友好;而OAuth2.0充分考虑了客户端的各种子态,因而提供了多种途径获取访问令牌,可根据客观情况选择。


参考:

1、http://blog.sina.com.cn/s/blog_617c5fce0102xmdr.html

2、https://blog.csdn.net/sonikk/article/details/9705439

以上是关于OAuth1.0与OAuth2.0的区别与联系的主要内容,如果未能解决你的问题,请参考以下文章

OAuth2介绍与使用

OAuth 2.0 授权标头

OAuth2-简介

OAuth2.0快速入门

OAuth2

OAuth 2.0 的探险之旅