本文来详细说下什么是OAuth2

文章目录

  • OAuth2小贴士
  • 本文小结

OAuth2小贴士

用户有自己的数据

有一个服务器,负责管理用户的数据。这个服务器被称为”Resource Server(资源服务器)“

有一个客户端应用,想要使用用户的数据

资源服务器需要准备一个 API 接口,用来传递用户的数据

客户端应用请求 API 接口,想要用户的数据

资源服务器返回用户数据

如果某个客户端应用心术不正怎么办?

坏客户端应用也请求资源服务器 API

资源服务器也可以正常返回用户数据

结果就是坏客户端拿到了用户数据

我们需要一个机制来保护用户的数据

根据最佳实践,让客户端应用使用 ”Access Token(访问令牌)“ 比较好。客户端有了 Token 就说明它有了访问用户数据的权限

客户端应用请求 API 时出示自己的 Token 令牌

资源服务器从请求中提取 Token

资源服务器验证 Token 令牌

确认之后,资源服务器返回用户数据

这个机制的前提是客户端得提前拿到 Token 令牌

我们需要有人负责颁发 Token 令牌

谁来颁发 Token 令牌 …

颁发 Token 的角色被称为 ”Authorization Server(授权服务器)“

客户端应用需要与授权服务器打交道了

授权服务器生成 Token 令牌

然后把 Token 颁发给客户端

先暂停,回顾一下,现在有3个角色了 ”授权服务器“、”客户端应用“、”资源服务器“

授权服务器生成 Token

然后颁发给客户端

客户端使用 Token 请求资源服务器的 API 接口

资源服务器从请求中提取 Token

验证 Token

Token 没问题就返回用户数据

上面的流程中,第一步是授权服务器生成 Token,而实际流程中,生成 Token 之前是需要询问 User 用户的

首先,客户端请求授权服务器,申请一个 Token

授权服务器询问用户,是否给这个客户端权限

如果用户同意 …

那么授权服务器就生成一个 Token

然后颁发给客户端

重点就是这个黄色区域

这块儿是请求 Token、拿到 Token 的过程

这个过程就是 OAuth2 框架所关注的,为其做了标准化定义


本文小结

以上就是 OAuth2 的工作背景,OAuth2 框架关注的是整个安全认证过程中的 “请求 Token、颁发 Token” 这部分流程。这块儿有多种方式,OAuth2 定义了4种模式来处理。

图文详解什么是OAuth2相关推荐

  1. 【图文详解】搭建 Spring Authorization oauth2-server-resource-client-gateway-eureka 完整Demo

    1.项目概述 1.1.概述 本项目是在前面章节的基础上,进行的升级改造.增加了注册中心.网关,更加贴近于实际需求. 在进行本节之前,请先搭建前面项目: [图文详解]搭建 Spring Authoriz ...

  2. 广联达2018模板算量步骤_老师傅带你学造价,广联达GTJ2018图文详解,小白也能学会的软件...

    在GTJ2018问世之前,土建造价人员有三个软件是必会的,一个是GGJ主打钢筋算量,一个是GCL主打土建算量,还有一个是GBQ主要是套定额用来计价的软件. 那时候如果计算一个工程的工程量,首先要用GG ...

  3. 计算机刷新的作用,图文详解Win8重置和刷新功能:超强自我治愈

    直接自愈,Windows8出故障之后,伴随着重置和刷新两大新功能,世上无难事了啊.微软Windows8团队今日在官方博客详细向用户解释Win8的重置和刷新PC功能,将可一键复位系统到最佳状态.视频演示 ...

  4. 计算机网络管理的常用命令,网络管理常用命令图文详解.pdf

    网络工程师必备 – 网络管理常用命令图文详解 网络工程师必备 网络管理常用命令 图文详解 V1.0 V1.0 包含 ping.ipconfig.netstat.nbtstat.tracert. pat ...

  5. 全网最全的Windows下Anaconda2 / Anaconda3里Python语言实现定时发送微信消息给好友或群里(图文详解)...

    不多说,直接上干货! 缘由: (1)最近看到情侣零点送祝福,感觉还是很浪漫的事情,相信有很多人熬夜为了给爱的人送上零点祝福,但是有时等着等着就睡着了或者时间并不是卡的那么准就有点强迫症了,这是也许程序 ...

  6. SSL之CA证书颁发机构安装图文详解

    上一节我们说到,在验证公钥安全性时,是在CA机构颁发的包含用户的公钥及其身份信息的数字证书,数字证书由权威机构--CA签发.这个CA权威机构可以是自己的服务器也可以是国际公认的CA权威机构.下面我就来 ...

  7. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  8. x264代码剖析(一):图文详解x264在Windows平台上的搭建

    x264代码剖析(一):图文详解x264在Windows平台上的搭建 X264源码下载地址:http://ftp.videolan.org/pub/videolan/x264/ 平台:win7 PC. ...

  9. 电脑连接电视方法详解_查看电脑配置的几种方法(图文详解)

    很多朋友想要了解自己电脑详细的配置的时候,一般都是通过第三方的工具检测的.那么有没有其他更好的方法可以在win系统下查看电脑配置呢?今天我就给大家分享一下如何查看电脑配置. 查看电脑配置的几种方法图文 ...

最新文章

  1. 2015年计算机初中,2015北京小升初电脑派位解读
  2. MyGeneration【ui-原】
  3. 自定义维护视图变量(Maintenance view variant)
  4. QT的QScriptEngineAgent类的使用
  5. 第7章 实战演练:爬取百度百科1000个页
  6. Go 语言学习笔记(一):基础知识
  7. 一种新的图像清晰度评价函数,数字图像清晰度评价函数的研究与改进
  8. 简易计算器 java_用Java做一个简易计算器,要用到哪些知识?
  9. 【渝粤教育】国家开放大学2018年春季 0283-21T广告创意与表现(二) 参考试题
  10. 业内指路共享软件:更多机会在移动和海外市场(三)
  11. python代码示例-《Python编程:从入门到实践》DEMO实例代码
  12. PyTorch学习笔记——语言模型
  13. 计算机体系结构五大部分组成
  14. 《矩阵分析与应用》(第2版)———知识+Matlab2018a——2nd
  15. GO语言+区块链视频教程,GO语言+区块链学习线路图(含大纲+视频+资料)
  16. sonarqube 数据清理
  17. 小程序样式写了没有用,或许你就差一行代码
  18. C#开发工控上位机编程 csdn_C#串口编程示例
  19. 可执行 jar 和普通 jar 区别
  20. MRT转换工具下载与安装以及使用

热门文章

  1. jQuery入门第三天
  2. MultiResolution研究
  3. 如何使用数据库可移植性将邮箱数据库还原到新服务器
  4. ArcGIS9.2的新变化
  5. 微软更新Azure SQL将可根据重要性工作进行重整顺序
  6. 基于ProtocolBuffer和ysocket的Swift即时通讯服务器搭建
  7. 【BZOJ4774】修路 [斯坦纳树]
  8. 河南省某炮旅的RAID5恢复
  9. 关于一个跨域的小问题
  10. 使用 Redis的SETNX命令实现分布式锁