跳至主要內容

OAuth2 四种授权方式

Jin大约 1 分钟

OAuth2 四种授权方式

参考

  1. RFC6749:RFC 6749 - The OAuth 2.0 Authorization Framework (ietf.org)open in new window

  2. 阮一峰:OAuth 2.0 的四种方式 - 阮一峰的网络日志 (ruanyifeng.com)open in new window

  • 授权码(authorization-code)
  • 隐藏式(implicit)
  • 密码式(password)
  • 客户端凭证(client credentials)
授权方式适用场景令牌获取过程安全性缺点
授权码模式 (Authorization Code Grant)Web 应用,浏览器环境通过授权码交换令牌高(令牌不暴露给浏览器)需要多次重定向,适用浏览器环境
简化授权模式 (Implicit Grant)单页面应用(SPA)直接通过浏览器返回令牌较低(令牌暴露在 URL 中)安全性较差,令牌暴露风险较大
密码凭证模式 (Resource Owner Password Credentials Grant)受信任的应用(移动应用、桌面应用)直接使用用户名密码获取令牌低(凭证暴露在客户端)安全性低,仅适用于完全信任的客户端
客户端凭证模式 (Client Credentials Grant)后端服务或机器对机器通信使用客户端凭证获取令牌较高(没有用户交互)仅适用于无用户交互的服务,不适用于用户身份授权
贡献者: Jin