隐式授权类型
什么是隐式授权
隐式授权类型(Implicit Grant Type)是为公共客户端创建的,如移动应用程序或纯 JavaScript 前端应用程序。它不包括客户端认证,而是客户端作为授权的结果接收访问令牌,隐式授权类型不支持授予刷新令牌。
隐式授权的威胁
隐式授权流程中没有客户端认证,该过程依赖于资源所有者的存在以及重定向 URI 的注册。访问令牌嵌入在重定向 URI 中,并且可能会暴露给资源所有者或与客户端在同一设备上使用的其他应用程序。
提示
要了解使用隐式授权类型带来的威胁,可阅读以下文档:
- RFC6749,第 10.16 节 - 它解释了在隐式流程中滥用访问令牌来冒充资源所有者的潜在风险。
- OAuth 2.0 安全最佳实践,第 2.1.2 节 - 它提供了隐式授权的安全最佳实践和建议。
隐式授权流程的工作原理
- 用户尝试访问应用程序(客户端)。
- 客户端向授权服务器的授权端点发送授权请求。
- 显示用户的授权窗口。
- 用户给予授权。
- OAuth 2.0 服务提供者返回嵌入在重定向 URI 中的令牌。
- 客户端从资源服务器请求受保护的资源,并呈现前一步骤中收到的令牌。
- 资源服务器验证令牌并响应所请求的资源。