OAuth2.0系列六:OAuth2.0四种授权模式总结

授权模式总结

前面几节已经通过代码介绍了OAuth2.0四种授权模式的简单使用,现在来总结一下四种授权模式的特点

授权码模式

  1. 通过前端渠道客户获取授权码
  2. 通过后端渠道,客户使用authorization code去交换access Token和可选的refresh token
  3. 假定资源拥有者和客户在不同的设备上
  4. 最安全的流程,因为令牌不会传递经过user-agent

密码模式

  1. 使用用户名密码登录的应用,例如桌面App
  2. 使用用户名/密码作为授权方式从授权服务器上获取access token
  3. 一般不支持refresh tokens
  4. 假定资源拥有者和公开客户在相同设备上

简化模式

  1. 不需要第三方客户端服务器参与,直接在浏览器中向授权服务器申请令牌
  2. Access Token直接从授权服务器返回(只有前端渠道)
  3. 适用于公开的浏览器单页应用(纯静态页面)
  4. 不支持refresh tokens
  5. 假定资源所有者和公开客户应用在同一个设备上
  6. 最容易受安全攻击

客户端凭证

  1. 第三方客户端仅代表自己不是代表用户去申请授权,所以多个用户可能对应同一个令牌
  2. 适用于服务器间通信场景
  3. 只有后端渠道,使用客户凭证获取一个access token
  4. 因为客户凭证可以使用对称或者非对称加密,该方式支持共享密码或者证书

授权模式选型

OAuth2.0系列六:OAuth2.0四种授权模式总结_第1张图片

参考内容:

《微服务架构实战160讲》——杨波

你可能感兴趣的:(Oauth2.0)