Oauth 授权代码PKCE-后端能否使用该代码请求令牌?

Oauth 授权代码PKCE-后端能否使用该代码请求令牌?,oauth,openid-connect,Oauth,Openid Connect,在授权代码流中。 前端可以将身份验证代码发送到后端,后端可以使用来自身份验证服务器的代码请求令牌 现在假设我们有SPA前端,使用PKCE。 前端是否仍有可能将代码发送到后端,后端使用其客户端凭据请求令牌? 我的意思是,后端不知道前端生成的验证密钥机密。您不会将PKCE与客户端机密混合匹配,但常见的解决方案是通过后端代理授权码授予消息: 将PKCE验证程序从浏览器发送到后端 然后将验证器发送到授权服务器 这可以是一种机制,用于将访问令牌或刷新令牌(或两者)排除在浏览器之外。例如,我的工作原理是

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

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

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

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

这可以是一种机制,用于将访问令牌或刷新令牌(或两者)排除在浏览器之外。例如,我的工作原理是这样的。

谢谢!还有一个问题。在OAuth中是否允许后端获得一个令牌(由前端使用pkce创建),该令牌没有pkce,但具有自己的客户端凭据?我的意思是,在这个场景中,前端使用pkce,后端使用客户端凭据。这不起作用-您可以使用授权码流(带有客户端密码)或授权码流(pkce)。授权服务器根据第一步(授权重定向)的参数验证每个流的第二步(授权代码授予)。