T31-OAuth2学习笔记

240 阅读1分钟

1. OAuth2是什么

image.png

1.1 OAuth2授权模式

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

1.2 T31授权流程

image.png

1.3 Cookie session和token的区别

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

2. OAuth2实战

2.1 授权服务器配置

Oauth2Config

image.png

SecurityConfig

image.png

2.2 资源服务器

OAuth2ResourceServerConfiguration

image.png

SecurityConfiguartion

image.png

3. 授权模式

3.1 授权码模式

image.png

  1. 申请授权码 image.png
  2. 输入用户名密码 image.png
  3. 返回授权码 image.png
  4. 申请令牌 image.png

image.png

image.png

3.2 简化模式

image.png

image.png

image.png

image.png

3.3 密码模式

image.png

image.png

image.png

3.4 客户端模式

image.png

image.png