我们如何使用带有 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、ClientDetailsS​​ervice、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 的两因素身份验证

Android 5.0 材料设计风格的 KitKat 导航抽屉

Ubuntu 上redis 5.0的安装