OAuth 2.0 概念及授权流程梳理

发布时间:2020-09-29 02:24:10 作者:东北小狐狸
来源:脚本之家 阅读:189

OAuth3 的概念

OAuth是一个关于授权的开放网络标准,OAuth3是其2.0版本。

它规定了四种操作流程(授权模式)来确保安全

应用场景有第三方应用的接入、微服务鉴权互信、接入第三方平台、第一方密码登录等

Java王国中Spring Security也对OAuth3标准进行了实现。

OAuth3授权模式

OAuth3定义了四种授权模式(授权流程)来对资源的访问进行控制

无论哪个模式(流程)都拥有三个必要角色:客户端授权服务器资源服务器,有的还有用户(资源拥有者),下面简单介绍下授权流程

授权码模式(Authorization Code Grant)

授权码模式是OAuth3目前最安全最复杂的授权流程,先放一张图,稍做解释

OAuth 2.0 概念及授权流程梳理

如上图,我们可以看到此流程可大致分为三大部分

整体上来说,可以用一句话概括授权码模式授权流程

客户端换取授权码,客户端使用授权码换token,客户端使用token访问资源

接下来对这三部分进行一些说明 :

前提条件:

Client Side

客户端换取授权码

这个客户端可以是浏览器,

Server Side

客户端使用授权码换token

Check Access Token

客户端使用token访问资源

这里的说明省去了一些参数,如scope(请求token的作用域)、state(用于保证请求不被CSRF)、redirect_uri(授权服务器回调uri),先理解概念,实现的时候再去要求

隐式授权模式(Implicit Grant)

OAuth 2.0 概念及授权流程梳理

隐式授权模式大致可分为两部分:

用一句话概括隐式授权模式授权流程

客户端让用户登录授权服务器换token,客户端使用token访问资源

Client Side

客户端让用户登录授权服务器换token

Check Access Token

客户端使用token访问资源

密码模式(Resource Owner Password Credentials Grant)

OAuth 2.0 概念及授权流程梳理

密码模式大体上也分为两部分:

一句话概括用户名密码模式流程:

用户在客户端提交账号密码换token,客户端使用token访问资源

Client Side
用户在客户端提交账号密码换token

Check Access Token

客户端使用token访问资源

客户端模式(Client Credentials Grant)

OAuth 2.0 概念及授权流程梳理

客户端模式大体上分为两部分:

一句话概括客户端模式授权流程:

客户端使用自己的标识换token,客户端使用token访问资源

Server Side

客户端使用自己的标识换token

Check Access Token

客户端使用token访问资源

OAuth3授权模式的选型

考虑到授权场景的多样性,可以参考以下两种选型方式

按授权需要的多端情况

OAuth 2.0 概念及授权流程梳理

按客户端类型与所有者

OAuth 2.0 概念及授权流程梳理

后记

学习OAuth3有一段时间了,把学到的知识分享出来,行文中难免有错误,如果发现还请留言指正,谢谢合作

参考文章与资料:

https://time.geekbang.org/course/intro/84 作者:杨波

https://blog.csdn.net/sinat_25295611/article/details/84980987 作者:Kayfen

How OAuth 2.0 works and how to choose the right flow 作者:Lorenzo Spyna

原文出处https://www.cnblogs.com/hellxz/p/oauth3_process.html

到此这篇关于OAuth 2.0 概念及授权流程梳理的文章就介绍到这了,更多相关OAuth3.0 授权流程内容请搜索亿速云以前的文章或继续浏览下面的相关文章希望大家以后多多支持亿速云!

推荐阅读:
  1. 理解Oauth2.0
  2. oauth2.0理解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oauth2.0 授权流程 au

上一篇:python 标准差计算的实现(std)

下一篇:Centos 6中编译配置httpd2.4的多种方法详解

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》