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