OAuth 授权码流程
- Updated: 2025/04/30
OAuth 授权码流程
授权码流程是 OAuth 2.0 中使用的一种安全协议,允许第三方应用程序在不暴露用户凭据的情况下访问用户的资源。
在此流程中,客户端应用程序将用户重定向到授权服务器,在那里他们登录并批准客户端的访问请求。 获得批准后,授权服务器向客户端发送授权码,客户端用其交换访问令牌,并可选择交换刷新令牌。 然后使用此访问令牌代表用户向资源服务器发出授权请求。
这种流程通常用于用户希望在不直接共享其凭据的情况下,授予第三方应用程序访问其资源(如数据或服务)的场景。
授权码流程与带有 PKCE(代码交换证明密钥)的授权码流程之间的主要区别在于用于防止某些攻击的安全机制,特别是针对移动端和本地应用程序的攻击。
在标准的授权码流程中,用户通过授权服务器进行身份验证后,客户端会收到一个授权码。 客户端随后将此代码交换为访问令牌。 然而,这种流程容易受到授权码拦截攻击的影响,攻击者可以拦截授权码并利用它获取访问令牌。
带有 PKCE 的授权码流程通过使用动态生成的密钥(代码验证器)来验证授权请求,从而增加了一层额外的安全性。 这使其更加安全,特别是在难以安全存储客户端密钥的环境中,例如移动端或本地应用程序。
要使用授权码流程创建授权类型: