首页 > 解决方案 > Spring Security OAuth2 是否支持带有 PKCE 的浏览器(Angular)客户端的授权代码流?

问题描述

浏览器应用程序的身份验证过去是使用授权服务器的隐式授权来管理的。我使用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-bootspring-securityoauth-2.0spring-security-oauth2

解决方案


不,它还不支持 PKCE,尽管它有一张票

另请注意,Spring Security 的 OAuth 支持现在正处于过渡阶段,而它正在迁移到 Spring Security 中。请随意关注此功能矩阵以查看进展情况。

更新: Spring Authorization Server 现在支持此功能


推荐阅读