【问题标题】:Does Spring Security OAuth2 support Authorization Code Flow with PKCE for browser (Angular) clients?Spring Security OAuth2 是否支持带有 PKCE 的浏览器(Angular)客户端的授权代码流?
【发布时间】:2019-05-03 02:32:28
【问题描述】:

浏览器应用程序的身份验证过去是使用授权服务器的隐式授权来管理的。我使用Spring Security Oauth 成功实现了这一点。

这种方法有几个缺点:

  1. 不支持刷新令牌,因此当令牌过期时,我们需要向授权服务器重新进行身份验证。
  2. 出于安全考虑,不建议使用此授权(请参阅https://oauth.net/2/grant-types/implicit/https://datatracker.ietf.org/doc/html/draft-parecki-oauth-browser-based-apps-01)。

目前推荐的选项是在浏览器应用程序中使用带有 PKCE 的授权代码流。

如何在 Spring Boot 授权服务器中使用 Spring Boot oauth 实现这一点?

【问题讨论】:

    标签: spring-boot spring-security oauth-2.0 spring-security-oauth2


    【解决方案1】:

    不,它还不支持 PKCE,不过 there is a ticket for it

    还请注意,Spring Security 的 OAuth 支持现在正处于过渡阶段,同时它被迁移到 Spring Security 中。随时关注this feature matrix 了解进展情况。

    更新:Spring Authorization Server 现在支持this feature

    【讨论】:

    • 谢谢@jzheaux,但你知道为什么在这个矩阵中找不到PKCE吗?它是否包含在列出的功能之一中?
    • 好的,现在票上写着:Spring Security 团队决定不再为授权服务器提供支持。因此,仍然可以使用 Spring 实现资源服务器,甚至可以通过嵌入 keyclock 或任何类似的身份验证提供程序服务器来实现身份验证服务器。
    • Spring Security 随后推翻了这一决定,并引入了 Spring Authorization Server。有关 PKCE 支持的详细信息在这里:github.com/spring-projects/spring-authorization-server/issues/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 2015-06-25
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 2018-03-13
    • 2020-02-22
    相关资源
    最近更新 更多