授权码 PKCE - 后端可以使用该代码请求令牌吗?

Authorization Code PKCE - can backend request token using the code?

在授权码流程中。 前端可以将授权码发送给后端,后端可以使用来自授权服务器的代码请求令牌。

现在假设我们有 SPA 前端,并使用了 PKCE。 前端是否仍然有可能将代码发送到后端,并且后端使用其客户端凭据请求令牌? 我的意思是,后端不知道前端生成的证明密钥秘密。

您不会将 PKCE 与客户端密钥混合搭配,但常见的解决方案是通过后端代理授权码授予消息:

  • 从浏览器向后端发送PKCE验证器
  • 然后将验证者发送到授权服务器

这可以是一种将访问令牌和/或刷新令牌保留在浏览器之外的机制。例如,我的 Sample SPA 是这样工作的。