我们如何使用带有 Spring 5.0 的最新 spring-security-oauth2 jar 来实现授权服务器?
Posted
技术标签:
【中文标题】我们如何使用带有 Spring 5.0 的最新 spring-security-oauth2 jar 来实现授权服务器?【英文标题】:How can we implement authorization server using the latest spring-security-oauth2 jars with Spring 5.0? 【发布时间】:2019-10-01 10:34:42 【问题描述】:我正在使用 Spring security 5.0 的以下位置的 spring-security-oauth2 jar: http://repo.spring.io/release/org/springframework/security/
可用的罐子有: spring-security-oauth2-core、spring-security-oauth2-client、spring-security-oauth2-jose、spring-security-oauth2-resource-server
我需要实现授权服务器。
早些时候,我在以下位置使用 spring-security-oauth2 jar: http://repo.spring.io/release/org/springframework/security/oauth/spring-security-oauth2/2.0.9.RELEASE/
在当前版本中,缺少 oauth2 2.0.9.RELEASE 中早期可用的各种接口,如 TokenStore、ClientDetailsService、ClientRegistrationService。
有没有办法使用最新的 spring-security-oauth2-core/client/jose/resource-server jar 和 spring security 5.0 来实现相同的功能?
谢谢,
【问题讨论】:
【参考方案1】:不幸的是,从最新版本 (5.1.5) 开始,没有像 Spring Security OAuth 那样原生支持创建自己的授权服务器,它有方便的@EnableAuthorizationServer
和相关的支持类。
不过,好消息是它很快就会得到Spring Security 5 的支持:
计划在 2018 年年中之前为 Resource Server 提供支持,并在 2018 年底或 2019 年初之前为 Authorization Server 提供支持。
显然 2019 年会比预期的晚。
【讨论】:
Spring Security 团队刚刚宣布他们不再计划为 Spring Security 5 spring.io/blog/2019/11/14/… 添加授权服务器支持。 他们已经决定不支持授权服务器,spring.io/blog/2018/01/30/…。 spring-authorization-server 是一个spring experimental project。 Spring security Oauth 已进入维护模式【参考方案2】:可以使用此spring-security-oauth2-boot shim jar 创建授权服务器,直到 Spring Security 5 重写此。
【讨论】:
以上是关于我们如何使用带有 Spring 5.0 的最新 spring-security-oauth2 jar 来实现授权服务器?的主要内容,如果未能解决你的问题,请参考以下文章
最新版 react-navigation v5.0 上带有标题按钮的换屏
[PHP代码审计]由S-CMS5.0最新SQL注入带来的审计新思路
[PHP代码审计]由S-CMS5.0最新SQL注入带来的审计新思路
带有 Spring Security 的 Spring Boot - 使用 SMS/PIN/TOTP 的两因素身份验证