Oauth 2.0 对于具有服务器、PKCE流或标准授权代码流的web应用程序,哪一个更安全?

Oauth 2.0 对于具有服务器、PKCE流或标准授权代码流的web应用程序,哪一个更安全?,oauth-2.0,google-oauth,Oauth 2.0,Google Oauth,众所周知,PKCE流是SPA或本机应用程序的良好解决方案,而不是标准授权代码流。 但是,对于带有服务器的web应用程序(“RFC 6749中定义的机密客户端”),哪个更安全 正如本文中提到的,“PKCE就是验证发起初始身份验证请求的客户机是否与使用授权代码获取真实令牌的客户机相同。” 但是,PKCE不能涉及客户端凭据(client_secret),这在授权代码流中用于确保请求者是身份验证客户端 因此,对于带有服务器(机密客户端)的web应用程序,标准授权代码流似乎比PKCE流更安全 也不确定这

众所周知,PKCE流是SPA或本机应用程序的良好解决方案,而不是标准授权代码流。 但是,对于带有服务器的web应用程序(“RFC 6749中定义的机密客户端”),哪个更安全

正如本文中提到的,“PKCE就是验证发起初始身份验证请求的客户机是否与使用授权代码获取真实令牌的客户机相同。”

但是,PKCE不能涉及客户端凭据(client_secret),这在授权代码流中用于确保请求者是身份验证客户端

因此,对于带有服务器(机密客户端)的web应用程序,标准授权代码流似乎比PKCE流更安全

也不确定这是否毫无根据?因为我们可以在最新的oauth2.1草案中看到,它似乎更喜欢PKCE,因为它说“所有使用授权代码流的OAuth客户端都需要PKCE”

2021年5月13日更新:实际上,oauth 2.1建议使用授权代码流加上PKCE参数,而不是使用PKCE代替授权代码流

亚马逊和微软在他们的规范中遵循了这一建议

谢谢大家