Spring Security OAuth2 是否支持浏览器 (Angular) 客户端的 PKCE 授权代码流?
Does Spring Security OAuth2 support Authorization Code Flow with PKCE for browser (Angular) clients?
浏览器应用程序身份验证过去是使用授权服务器的隐式授权来管理的。我使用 Spring Security Oauth.
成功实现了这个
这种方法有几个缺点:
- 不支持刷新令牌,因此当令牌过期时,我们需要使用授权服务器重新进行身份验证。
- 出于安全考虑,不推荐此授权(参见 https://oauth.net/2/grant-types/implicit/ and https://datatracker.ietf.org/doc/html/draft-parecki-oauth-browser-based-apps-01)。
目前推荐的选项是将授权代码流与浏览器应用程序的 PKCE 结合使用。
如何在具有 spring 引导 oauth 的 Spring 引导授权服务器中实现?
不,它还不支持 PKCE,但 there is a ticket for it。
另请注意,Spring Security 的 OAuth 支持在迁移到 Spring Security 本身时正处于过渡阶段。欢迎随时关注 this feature matrix 以查看进展情况。
更新:Spring授权服务器现在支持this feature。
浏览器应用程序身份验证过去是使用授权服务器的隐式授权来管理的。我使用 Spring Security Oauth.
成功实现了这个这种方法有几个缺点:
- 不支持刷新令牌,因此当令牌过期时,我们需要使用授权服务器重新进行身份验证。
- 出于安全考虑,不推荐此授权(参见 https://oauth.net/2/grant-types/implicit/ and https://datatracker.ietf.org/doc/html/draft-parecki-oauth-browser-based-apps-01)。
目前推荐的选项是将授权代码流与浏览器应用程序的 PKCE 结合使用。
如何在具有 spring 引导 oauth 的 Spring 引导授权服务器中实现?
不,它还不支持 PKCE,但 there is a ticket for it。
另请注意,Spring Security 的 OAuth 支持在迁移到 Spring Security 本身时正处于过渡阶段。欢迎随时关注 this feature matrix 以查看进展情况。
更新:Spring授权服务器现在支持this feature。