重要术语
 
Authorization Server:授权服务器,能够成功验证资源拥有者和获取授权,并在此之后分发令牌的服务器;
Resource Server:资源服务器,存储用户的数据资源,能够接受和响应受保护资源请求的服务器;
Client:客户端,获取授权和发送受保护资源请求的第三方应用;
Resource Owner:资源拥有者,能够对受保护资源进行访问许可控制的实体;
Protected Resource:受保护资源,能够使用OAuth请求获取的访问限制性资源;
Authorization Code:授权码;
Refresh Token:刷新令牌;
Access Token:访问令牌。
核心工作流程
OAuth 为客户端提供了一种代表资源拥有者访问受保护资源的方法。在客户端访问受保护资源之前,它必须先从资源拥有者获取授权(访问许可),然后用访问许可交换访问令牌(Access Token,包含许可的作用域、持续时间和其它属性等信息)。客户端通过向资源服务器出示访问令牌来访问受保护资源。访问令牌提供了一个抽象层,将不同的授权结构(如用户名密码)替换成资源服务器可以理解的单一访问令牌。这种抽象使得分发短期有效的访问令牌成为可能,也使得资源服务器不必理解多种多样的授权机制。使用OAuth2.0 机制,进行认证授权,获取访问令牌,并通过访问令牌来访问受保护资源,如图所示:
OAuth2.0 的工作流程简述如下:
(1) 客户端从资源拥有者(最终用户)那里请
求授权。授权请求能够直接发送给资源拥有者,或者
间接的通过授权服务器发送请求;
(2) 资源拥有者为客户端授权,给客户端发送一个
访问许可(Authorization Code);
(3) 客户端出示自己的私有证书(client_id 和
client_secret)和上一步拿到的访问许可,来向授权服务
器请求一个访问令牌;
(4) 授权服务器验证客户端的私有证书和访问许
可的有效性,如果验证有效,则向客户端发送一个访
问令牌,访问令牌包括许可的作用域、有效时间和一
些其他属性信息;
(5) 客户端出示访问令牌向资源服务器请求
受保护资源;
(6) 资源服务器对访问令牌做出响应。

转载于:https://www.cnblogs.com/cuihongwei1988/p/5333369.html

OAuth2.0 工作流程相关推荐

  1. oauth2.0协议流程_正确的工作流程:我应该使用哪个OAuth 2.0流程?

    oauth2.0协议流程 什么是OAuth 2.0 OAuth 2.0是一个已被广泛采用的委托授权框架,已经存在了很多年,并且似乎已经存在. 如果您不熟悉OAuth 2.0的基本概念,可以使用 川崎孝 ...

  2. OAuth2.0 原理流程及其单点登录和权限控制

    作者:王克锋 kefeng.wang/2018/04/06/oauth2-sso 单点登录是多域名企业站点流行的登录方式.本文以现实生活场景辅助理解,力争彻底理清 OAuth2.0 实现单点登录的原理 ...

  3. OAuth2.0授权流程分析

    Oauth2认证流程 第三方认证技术方案最主要是解决认证协议的通用标准 问题,因为要实现 跨系统认证,各系统之间要遵循一定的接口协议. OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标 ...

  4. 【转】C#搭建Oauth2.0认证流程以及代码示例

    对于一个普遍问题,必有对应的一个简洁优美的解决方案.这也许只是一厢情愿,因为根据宇宙法则,所有事物总归趋于混沌,而OAuth协议就是混沌中的产物,不管是1.0.1.0a还是2.0,单看版本号就让人神伤 ...

  5. Spring Cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)

    上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的 ...

  6. JAVA springboot ssm b2b2c多用户商城系统源码-SSO单点登录之OAuth2.0登录流程(2)

    上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的 ...

  7. java ssm 多租户_(十一)java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统- SSO单点登录之OAuth2.0登录流程(2)...

    上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的 ...

  8. 【集合】统一身份认证(CAS)和OAuth2的工作流程

    一.CAS协议 单点登录SSO(Single Sign ON),指在多个应用系统中,只需登录一次,即可在多个应用系统之间共享登录.如:在学校登录了OA系统,再打开科研.教务系统,都会实现自动登录. 统 ...

  9. 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录流程

    现在我们针对于login做成相关的微服务,解析如下: 请求方式:POST 服务URL: http://localhost:8080/user/login 参数类型:application/json H ...

最新文章

  1. 【Qt】Qt再学习(四):Editable Tree Model Example
  2. 【云周刊】第126期:硬货!云存储成本到底省在哪儿
  3. 网络故障排除连载之七:设备兼容性故障排除
  4. 推销员(codevs 5126)
  5. Ubuntu 16.04 + Nginx + Django 项目部署
  6. 深入理解Mysql - 事务与锁原理
  7. java顺序表增删查改_Java实现顺序表的增删改查
  8. 2017.3.31 棋盘制作 失败总结
  9. [转载]C++ 中有符号类型到无符号类型的转换(C和C++程序员面试秘笈P9面试题6)...
  10. Window驱动开发
  11. 【虹科分享】什么是 RFC 2544?网络设备的性能基准测试方法
  12. cr2格式是什么意思?cr2格式用什么软件打开?cr2格式怎么转换成jpg
  13. NR接入过程中鉴权失败问题
  14. 视频剪辑计算机配置要求,笔记本电脑用来视频剪辑和后期制作要求什么配置高?...
  15. Alibaba(实习准备)—SOFARPC学习总结
  16. linux androidx86双系统,ubuntu下安装RemixOS双系统(Android x86)
  17. Ralink SDK相关指令总结
  18. 98% after emitting CopyPlugin问题
  19. 时序预测方法——指数平滑法(Holt-Winters)
  20. SNMP中的MIB是什么? 讲解如何进行SNMP MIB的查看

热门文章

  1. RHEL在戴尔系统上p1p1 ......命名规则
  2. JBPM流程部署校验之java利用XSD校验XML
  3. Win2008 server backup系统备份组件安装
  4. 用ASP.NET AJAX框架扩展HTML Map控件
  5. Apache HBase的现状和发展
  6. LeetCode: 3_Longest Substring Without Repeating Characters | 求没有重复字符的最长子串的长度 | Medium...
  7. 做业务与技术之间的桥梁
  8. SharePoint Conference 2008 - Day 1
  9. [转帖]爬过这 6 个坡,你就能对 Linux 操作系统了如指掌
  10. jenkins内置变量的使用