OAuth2.0的不同的应用场景

客户应用类型分类

这里写图片描述

四种授权码类型分类

授权码Authorization Code
  • 通过前端渠道客户获取授权码
  • 通过后端渠道,客户使用authorization code去交换access Token和可选的refresh Token
  • 假定资源拥有者和客户在不通的设备上
  • 最安全的流程,应为令牌不会传递经过user-agent
简化模式Implicit
  • 适用于公开的浏览器单页应用
  • Access Token直接从授权服务器返回(只有前端渠道)
  • 不支持refresh tokens
  • 假定资源所有者和公开客户应用在同一个设备上
  • 最容易受安全攻击
用户名密码 Resource Owner Credentials
  • 使用用户名密码登录的应用,例如桌面App
  • 使用用户名/密码作为授权方式从授权服务器上获取access token
  • 一般不支持refresh token
  • 假定资源拥有者和公开客户子啊相同设备上
客户端凭证 Client Credentials
  • 适用于服务器见通信场景,机密客户代表它自己或者一个用户
  • 只有后端渠道,使用客户凭证获取一个access token
  • 因为客户凭证可以使用对称或者非对称加密,该方式支持共享密码或者证书

授权类型流程

这里写图片描述

猜你喜欢

转载自blog.csdn.net/m0_37779570/article/details/82023184