OAuth2是什么

OAuth2是目前最流行的授权协议,用来授权第三方应用,获取用户数据。

令牌 vs 密码:

令牌

  1. 短期的,自动失效
  2. 可以撤销,撤销立即生效
  3. 有权限范围,如只能进2号门

密码

  1. 长期有效
  2. 一般不允许他人撤销
  3. 密码一般是完整权限

为什么要用OAuth2

单体架构:cookie session机制

分布式架构方案:session共享

分布式架构方案:基于token

cookie session和token的区别

  1. cookie不能跨域,前后端分离分布式架构实现多系统 SSO非常困难
  2. 移动端应用没有cookie,所以对于移动端支持不好
  3. token基于header传递,部分解决了CSRF攻击
  4. token要比sessionID大,客户端存储在Local Storage中,可以直接被JS读取

工程结构

授权服务器:颁发和验证令牌

资源服务器:提供需要令牌才能访问的服务

授权服务器配置:

资源服务器配置:

 

OAuth2授权模式

授权码模式

response_type固定为code

  1. 申请授权码
  2. 输入用户名密码,确认身份
  3. 返回授权码
  4. 客户端携带授权码访问授权服务器
  5. 验证授权码通过,返回令牌

简化模式

不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳过了“授权码”这个步骤“

response_type简化模式固定为token

密码模式

用户向客户端提供自己的用户名和密码,这通常用在用户对客户端高度信任的情况

grant_type填写password

客户端模式

是指客户端使用自己的名义而不是用户的名义向服务提供者申请授权,很少使用

2021.11.13 孤尽训练营D19——OAuth2相关推荐

  1. 2021.11.20 孤尽训练营D26——分布式锁

    大纲:分布式锁简介.Redis分布式锁分析.Redisson分布式锁.分段锁 简介 在同一个JVM内部,大家往往采用synchronized或者Lock的方式来解决多线程间的安全问题,但是在分布式架构 ...

  2. 2021.11.16 孤尽训练营D22——单元测试与系统安全规约

    认识单元测试 单元测试是对软件组成单元进行的测试.其目的时检验软件基本组成单位的正确性.测试对象时软件设计的最小单元:模块,又称为模块测试. 单元测试的AIR原则 A:自动化地关闭.开启单元测试 I: ...

  3. Python中的字符串处理(re正则表达式)by Young 2021.11.13

    写在前面的说明: (1)作者的部分翻译可能和python 标准中文文档之间有出入,作者已尽力保持一致,如有不妥,烦请读者指出,作者一定及时更正: (2)文中介绍的所有内容作者均使用pythong 3. ...

  4. 2021/11/13

    复盘: 7 : 50 − 8 : 50 7:50 - 8:50 7:50−8:50 T 1 T1 T1一看就是道模拟题 , 用 s e t set set维护 , 具体方法就是开 2 ∗ n 2 * ...

  5. 你要记得那些大雨中为你撑伞的人,帮你挡住外来之物的人。。。——村上春树 2021.11.13日 早上11点

    收藏: 村上春树说: 你要记得那些大雨中为你撑伞的人, 帮你挡住外来之物的人, 黑暗中默默抱紧你的人, 逗你笑的人, 陪你彻夜聊天的人, 坐车来看望你的人, 陪你哭过的人, 在医院陪你的人, 总是以你 ...

  6. js创建数组的四种方法【2021.11.13】

    参考书籍<JavaScript百炼成仙> 1.直接量定义数组: var arr = [1,2,3]; 2.采用构造函数的方法创建数组对象: var a =new Array(); 3.也是 ...

  7. 2021.11.13 关于大学生竞赛的些许感想,写在党课考试前一晚

      很感谢这一路走来曾经给我帮助和激励的人,包括但不限于:我的算法引路人swj,给我推荐Acwing平台的小天,陪我一起减肥减了20斤的dqq.虽然没有什么成就叭,还是很感谢大家的. 数学建模国二 蓝 ...

  8. 2021.11.13

    goto函数,无条件转移. 昨天对getchar的读入过程有疑问.getchar从键盘缓冲区中读入,那读入后存哪呢? 实际上我们在用它的时候是把它赋给一个变量或直接用在判断语句的,没有存储的问题. 使 ...

  9. NOIP模拟赛2021/11/13考试总结

    赛时安排 8:00~8:40 T1直接用set模拟一下就行了,不知道空间会不会炸,时间应该能卡过 8:40~9:10 写了T2的暴力分 9:10~10:10 T2应该是DP之类的,但是不知道怎么设置状 ...

最新文章

  1. 再读《精通css》03:引入和注释
  2. 【预言】分布式缓存成为操作系统的一部分
  3. c++之五谷杂粮---2
  4. 百度地图api---实现新建地图
  5. win7冒险岛java,win7玩冒险岛不兼容怎么办?解决win7玩冒险岛不兼容的方法
  6. SAP、IFS、Maximo三产品在EAM角度的比较Lenon系列
  7. 编译安装php的openssl组件时遇到 libssl not found解决办法
  8. 2019/2/18 Python今日收获
  9. 电脑老是自动重启怎么回事??
  10. ToStringBuilder学习总结
  11. 重装win10提示“Windows无法安装到这个磁盘,选中的磁盘具有MBR分区表,在EFI系统上,windows只能安装...”
  12. 以风险管理思想构建关键信息基础设施风险评估重器
  13. ios和linux共享的笔记软件,超好用!5款完全免费、支持全平台的笔记软件
  14. 蓝牙耳机连接 win10音量异常
  15. 【百度大脑新品体验】车牌识别
  16. 快速加速计算机的方法,电脑慢的快速解决办法 四种方法电脑速度变快10倍
  17. Fedora 使用 yaourt
  18. word如何去除表格中高亮部分(表格属性-边框和底纹)
  19. 用MATLAB作微粉环节,电力系统分析理论课本习题MATLAB做.doc
  20. 湖南省第六届程序设计竞赛---弟弟的作业

热门文章

  1. php获取公众号_PHP 获取微信公众号openid
  2. 耿建超英语语法---非谓语动词作宾补
  3. 戴特科技工业4.0丨通用技术取代工厂车间专用工具
  4. springboot_游戏虚拟物品交易平台
  5. 能否比较一下华为路由器和TPLINK路由器的优缺点?
  6. 计算机简介及Windows快捷键
  7. 完整的搭建内网穿透ngrok详细教程(有图有真相)
  8. AndroidStudio的下载、安装、第一个工程运行
  9. PDF文档免费合并拆分软件及操作说明
  10. 万能乘法速算法大全_小学生两位数乘法容易出错?只因没掌握这个“万能”速算法...