【问题标题】:Implement oauth2 authorization server without using Spring Security OAuth在不使用 Spring Security OAuth 的情况下实现 oauth2 授权服务器
【发布时间】:2020-11-03 16:24:31
【问题描述】:

我的要求是使用 spring boot 实现 oauth 2。

这是为了将动态客户端注册(客户端ID,客户端密码......)存储在数据库中,而不是存储在内存中。

我看到的第一个选项是使用 spring-security-oauth2。但根据文档 https://spring.io/projects/spring-security-oauth.
它说 Spring Security OAuth 已被弃用,最新的 OAuth 2.0 支持由 Spring Security 提供。

不推荐使用 Spring Security OAuth 我不会将它用于我当前的实现。

现在我现在的选择是从 Spring Security 中使用它。 Bu 根据文档https://github.com/spring-projects/spring-security/wiki/OAuth-2.0-Migration-Guide,它说 Spring Security 不提供授权服务器支持。

现在我很困惑,要么使用已弃用的 Spring Security OAuth,要么等待 Spring Security 提供授权服务器支持。我想听听专家的建议。有没有没有 Spring Security OAuth 的教程来实现它?

【问题讨论】:

    标签: spring spring-boot spring-security spring-security-oauth2 spring-boot-starter-security


    【解决方案1】:

    有一个新项目创建一个Spring Security新的授权服务器:https://github.com/spring-projects-experimental/spring-authorization-server 但是距离完成还有很长的路要走。

    我收集到,因为您只打算使用“客户端凭据”授权,您可以使用已弃用的授权服务器,我将它用于小型内部应用程序,适用于简单的用例,而且它非常可定制。 例如项目:https://github.com/wlesniak/effective-oauth2-with-spring-security-and-spring-boot/tree/master/module_4

    您的另一个选择,特别是如果您想使用 OpenID 连接和最新的 Oauth 功能,将是一个 3rd 方身份验证服务器,例如:keycloak 它是开源的,由 Red Hat 开发,是所有花里胡哨的优秀产品,并且具有良好的弹簧支撑,易于配置。

    【讨论】:

      猜你喜欢
      • 2020-07-23
      • 2015-05-22
      • 2018-10-28
      • 2018-09-26
      • 2020-03-14
      • 2022-01-14
      • 2015-03-31
      • 2021-10-29
      • 2015-07-21
      相关资源
      最近更新 更多