栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Day19 OAuth2

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Day19 OAuth2

OAuth2是什么? 令牌和密码

令牌(token)与密码(password)的作用是一样的,都可以进入系统,但是有三点差异。

令牌

  1. 短期有效,到期自动失效
  2. 可以被数据所有者撤销,会立即失效
  3. 存在权限范围

密码

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

淘宝和支付宝登录

1、在淘宝点击支付宝登录

2、跳转到支付宝登录页面,输入账密或扫码登录

3、成功登录,跳回淘宝首页

登录时序图

OAuth2中的角色

资源持有者:淘宝用户

授权客户端访问资源(用户信息)

客户端:淘宝

访问受限资源的第三方应用

资源服务器和授权服务器:支付宝

授权服务器:颁发令牌,验证用户提交的信息是否正确
资源服务器:持有资源(用户信息),提供客户端访问

资源和授权服务器项目中需要分开

OAuth2:授权协议

解决了第三方认证的问题,让客户端获得用户数据

OAuth2授权模式

授权码模式、简化模式、密码模式、客户端模式

名称简介安全性
授权码模式最完整和严谨的授权模式,第三方登录
均是此模式
最高
简化模式省略授权码阶段,客户端是纯静态页面采用
此模式
密码模式把用户名密码告诉客户端,对客户端高度信
任,比如客户单和认证服务器是同一公司的
一般
客户端模式直接以客户端名义申请令牌,很少使用最差

授权码模式:先得到一个码,一个码只能换一次令牌,换完马上失效
浏览器即使持有码,也换不到令牌了,码换一次就失效。
授权码用于服务器间交互,淘宝通过远程调用的方式拿码换令牌,令牌在淘宝保存。浏览器看不到令牌,会很安全

简化模式:没有过程7 - 12,直接申请令牌,令牌在浏览器存储,都可以被读取,没有存储在服务器上安全。适用于纯静态页面,其无法在服务器端保持令牌,无法写代码发请求

密码模式:前后端登录使用密码模式,客户端被认证服务器高度信任

客户端模式:子网站,报出密钥都得把令牌给过来


为什么要用OAuth2? 单体架构登录 cookie-session机制

微服务架构方案1

session共享

三种方案:

1、复制session,节点多的情况下不合适

2、nginx的session粘连,特定ip只能访问特定节点,无法高可用

3、session共享,存储到redis中,读共享session,使用到Spring Session


微服务架构方案2

基于token

通过令牌访问资源服务器,验证令牌进行认证和登录

cookie session和token的区别
  • cookie不能跨域,分布式架构实现多系统SSO困难
  • 移动端应用没有cookie,移动端支持不好
  • token基于header传递,解决了部分CSRF攻击
  • token比sessionID大,客户端存储在LocalStorage,可直接被JS读取
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/511441.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号