隐式流现在比授权码流更流行吗?
Is Implicit flow now more popular than authorization code flow?
我开始学习 OAuth2 和 OpenID,并且不断有一些新问题。对于他们中的许多人,我找到了答案,但这件事真的很困扰我。
我读到,出于安全原因,SPA 使用隐式流,服务器端应用程序使用授权码。
如今,SPA 非常流行,开发人员只要有空就会使用它们,尤其是新开发人员。
这是否意味着在开发新应用时,隐式流实际上比授权码更常用?
我的理解正确吗?
另外,如果我想要高级别的安全性并且我正在使用 SPA 怎么办?
实际上恰恰相反:隐式已弃用,支持使用 PKCE 的授权代码流,也适用于 SPA。在后一种情况下,我们谈论的是 Public 客户端,而不是适用于服务器端应用程序的机密客户端。为了提高这些 Public 客户端的安全性,建议在使用授权码流程时使用代码交换证明密钥 (PKCE) 选项。
参见例如https://pragmaticwebsecurity.com/articles/oauthoidc/from-implicit-to-pkce.html
我开始学习 OAuth2 和 OpenID,并且不断有一些新问题。对于他们中的许多人,我找到了答案,但这件事真的很困扰我。
我读到,出于安全原因,SPA 使用隐式流,服务器端应用程序使用授权码。 如今,SPA 非常流行,开发人员只要有空就会使用它们,尤其是新开发人员。
这是否意味着在开发新应用时,隐式流实际上比授权码更常用? 我的理解正确吗?
另外,如果我想要高级别的安全性并且我正在使用 SPA 怎么办?
实际上恰恰相反:隐式已弃用,支持使用 PKCE 的授权代码流,也适用于 SPA。在后一种情况下,我们谈论的是 Public 客户端,而不是适用于服务器端应用程序的机密客户端。为了提高这些 Public 客户端的安全性,建议在使用授权码流程时使用代码交换证明密钥 (PKCE) 选项。
参见例如https://pragmaticwebsecurity.com/articles/oauthoidc/from-implicit-to-pkce.html