OAuth2.0 授权方式及步骤梳理总结
OAuth 2.0授权协议使第三方应用程序可以通过协调资源所有者和HTTP服务之间的批准交互,或者通过允许第三方应用程序代表资源所有者来获得对HTTP服务的有限访问权,或者代表资源所有者。 代表自己获取访问权限。通常的授权方式分为以下四种:
一、Authorization_Code_Grant [授权码方式] (最完整方式,针对用户的授权) 【常用】
| 1、发起申请授权 | 2、用户确认授权 | 3、申请Token | 4、过期取新Token |
| 通过授权链接 > 跳转认证页面 | 用户登录 > 返回授权码 | 通过授权码申请Token > 返回Token(附带refresh_token) | 依据refresh_token 取新Token |
参考流程图如下:(图片来源:draft-ietf-oauth-v2-31 4.1 )
二、Implicit_Grant [授权码缺省方式] (可纯前端方式,针对用户的授权) 【常用】
| 1、发起申请授权 | 2、用户确认授权 | 4、过期取新Token |
| 通过授权链接 > 跳转认证页面 | 用户登录 > 返回Token(附带refresh_token) | 依据refresh_token 取新Token |
参考流程图如下:(图片来源:draft-ietf-oauth-v2-31 4.2 )
三、Client_Credentials [平台凭证方式] (可纯后端方式,针对平台的授权,多用户共享) 【少见】
| 1、发起申请 | 4、过期取新凭证 |
| 平台发起申请 > 返回给平台凭证 | 凭证过期 取新凭证 |
参考流程图如下:(图片来源:draft-ietf-oauth-v2-31 4.4 )
四、Password_Credentials [密码凭证方式] (充分信任的双方) 【内网系统】
适用于双方有充分信任关系的情况,例如其操作系统或高特权的应用程序。授权服务器在启用此种授予类型时应当注意,只有在其它授权方式不可能时,再考虑此种授权类型。
首先,用户在平台登录页输入登录凭证,平台依据用户输入的登录凭证信息(通常为账号密码)向授权服务器发起Token申请。授权服务器Response Token。它还用于通过将存储的凭据转换为访问令牌,使用HTTP Basic或Digest身份验证等直接身份验证方案将现有客户端迁移到OAuth。
| 1、平台登录 | 2、认证授权 | 4、过期取新Token |
| 用户登录 > 发起申请 | 认证并返回Token(附带refresh_token) | 依据refresh_token 取新Token |
参考流程图如下:(图片来源:draft-ietf-oauth-v2-31 4.3 )
有误必究,欢迎指出,持续更新,万分感谢,共同学习。
OAuth2.0 授权方式及步骤梳理总结的更多相关文章
- OAuth2.0授权机制说明
授权机制说明 1 简介 优酷对第三方应用用户授权采用OAuth2.0标准 2 OAuth2.0 授权方式 优酷支持OAuth 2.0的三种授权方式,请根据平台选用不同的授权方式: 2.1 通用授权 ...
- OAuth2.0授权码模式
OAuth2.0简单说就是一种授权的协议,OAuth2.0在客户端与服务提供商之间,设置了一个授权层(authorization layer).客户端不能直接登录服务提供商,只能登录授权层,以此将用户 ...
- oauth2.0+app方式 webgis 授权
.认证方式有三种 Oauth2.0, Token-based http/windows 二.用户登录与应用登录区别 两者区别在于:当用户登录时,服务器端平台是否直接识别登录信息和验证登录信息. 应用登 ...
- OAuth2.0授权
一.什么是OAuth2.0官方网站:http://oauth.net/ http://oauth.net/2/ 权威定义:OAuth is An open protocol to allow secu ...
- 使用DotNetOpenAuth搭建OAuth2.0授权框架
标题还是一如既往的难取. 我认为对于一个普遍问题,必有对应的一个简洁优美的解决方案.当然这也许只是我的一厢情愿,因为根据宇宙法则,所有事物总归趋于混沌,而OAuth协议就是混沌中的产物,不管是1.0. ...
- 微信开发——OAuth2.0授权
微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...
- 使用微服务架构思想,设计部署OAuth2.0授权认证框架
1,授权认证与微服务架构 1.1,由不同团队合作引发的授权认证问题 去年的时候,公司开发一款新产品,但人手不够,将B/S系统的Web开发外包,外包团队使用Vue.js框架,调用我们的WebAPI,但是 ...
- API代理网关和OAuth2.0授权认证框架
API代理网关和OAuth2.0授权认证框架 https://www.cnblogs.com/bluedoctor/p/8967951.html 1,授权认证与微服务架构 1.1,由不同团队合作引发的 ...
- Java微信公众平台开发(十六)--微信网页授权(OAuth2.0授权)获取用户基本信息
转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静 ...
随机推荐
- OMnet++ 初学者教程 第一节 入门
第1部分-入门 1.1模型 首先,让我们从一个包含两个节点的"network"开始.节点将做一些简单的事情:一个是节点将创建一个数据包,而两个节点将继续来回传递相同的数据包.我们将 ...
- Android Studio中Switch控件有关 textOn 和 textOff 用法
•属性 textOn:控件打开时显示的文字 textOff:控件关闭时显示的文字 showText:设置是否显示开关上的文字(API 21及以上) •用法 <?xml version=" ...
- 使用Amazon Pinpoint对用户行为追踪
1.前言 最近在做一个项目,我们的后台大数据团队需要了解用户在使用app的时候,都进行了哪些操作,在哪个页面都干了些什么,以及app日活和月活等等,各种数据.总之就是监控用户行为,说好听一点就是发送反 ...
- springboot项目配置logback日志系统
记录springboot项目配置logback日志文件管理: logback依赖jar包 SpringBoot项目配置logback理论上需要添加logback-classic依赖jar包: < ...
- .NET WebSockets 核心原理初体验
上个月我写了<.NET gRPC核心功能初体验>, 里面使用gRPC双向流做了一个打乒乓球的Demo, 实时双向这两个标签是不是很熟悉,对, WebSockets也可以做实时双向通信. 本 ...
- 简介TLS 1.3
0x00 前言 最近在阅读论文,其中阅读了 WWW2021的一篇文章"TLS 1.3 in Practice: How TLS 1.3 Contributes to the Internet ...
- SpringCloud之Ribbon负载均衡策略
Spring Cloud 微服务架构学习记录与示例 一.认识Ribbon 首先咱们需要认识下负载均衡,一般分为服务器端负载和客户端负载均衡. 服务器端负载均衡:比如Nginx.F5,请求达到服务器后由 ...
- DVWA之SQL注入考点小结
SQL Injection SQL Injection,即SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的.SQL注入漏洞的危害是巨大的,常常 ...
- hdu5248序列变换(二分+贪心)基础题
题意(中文的直接粘题意吧) 序 ...
- 使用BurpSuite抓取HTTPS网站的数据包
昨天面试,技术官问到了我如何使用BurpSuite抓取https网站的数据包,一时间没能回答上来(尴尬!).因为以前https网站的数据包我都是用Fiddler抓取的,Fiddlert自动帮我们配置好 ...