oauth授权和身份认证

207 阅读1分钟

oauth授权和身份认证

oauth认证角色

  • 资源拥有者(用户)
  • 客户端
  • 受保护资源(服务器)
  • 授权服务器

TOFU 原则

流程图

截屏2020-11-02 上午10.55.42

截屏2020-11-02 上午11.11.57

手绘流程图

授权码类型时序图

问题:

  1. 保存refresh token的意义

refresh token 时需要之前在/token接口获取token时已经生成过refresh token

授权类型

  1. code授权码许可类型
  2. 隐式许可类型
  3. 客户端凭据许可类型
  4. 资源拥有者凭据许可类型
  5. 断言许可类型

在客户端提交登陆name和psw,然后提交到授权服务器

问: 再次想到一个问题,code方式的话如何保证资源拥有者是本人呢? 答: 授权时做验证

隐式许可类型

截屏2020-11-04 上午11.49.08

客户端凭据许可类型

截屏2020-11-04 上午11.49.49

资源拥有者凭据许可类型

截屏2020-11-04 上午11.50.01

断言许可类型

截屏2020-11-04 上午11.50.10

客户端类型

  • web应用
  • 浏览器应用
  • 原生应用

身份认证

截屏2020-11-04 下午4.45.54

客户端 = RP

OpenID Connect身份认证

相关资源

截图来自"oauth2.0实战"

其他

oauth1.0 和 2.0的区别: OAuth 1.0,1.0a 和 2.0 的之间的区别有哪些?

简单来说1.0a解决1.0的安全问题;2.0通过tls传输的后端信道,省略了1.0授权secret做签名