当前位置: 首页 > 知识库问答 >
问题:

Keycloak服务器嵌入到带有自定义用户存储SPI的Spring Boot应用程序中

荀裕
2023-03-14

我已经成功地设置了嵌入在Spring Boot应用程序中的Keycloak服务器,遵循本教程:嵌入在Spring Boot应用程序中的Keycloak以避免手动设置它。

由于我要处理的是一个已经有自己DB的旧实现,所以我决定使用Keycloak的用户存储SPI连接到外部postgresql DB,并使用它来进行身份验证,而不是Keycloak DB。

为此,我遵循了关于Keycloak文档的教程,但它包含了一个独立的Keycloak服务器,使用自定义提供程序创建了一个.jar,并将其注入 /standalone/deployments/

我已经创建了一个与独立的Keycloak服务器一起工作的实现,但现在我想将它包含在嵌入式服务器中。是否可以使用嵌入在Spring Boot应用程序中的Keycloak服务器,同时也有嵌入的自定义用户存储提供程序,以避免手动设置?

共有1个答案

李文轩
2023-03-14

如果已经实现了提供程序和提供程序工厂,则只需在resources/meta-inf/services/org.keycloak.storage.userStorageProviderFactory文件中声明提供程序工厂类。

然后您可以登录到管理控制台,并在“用户联合”页上启用用户存储提供程序。

 类似资料:
  • 我试图解决的用例是 用户将显示keycloak登录屏幕。Onsubmission用户将根据外部数据源验证。 从外部数据源中检索一些属性,将其映射到KeyCloak的id和访问令牌。 我所做的是从实现自定义身份验证器SPI开始,认为这不是正确的方法,现在实现了UserStorageProvider。 遵循文档(https://www.keycloak.org/docs/latest/server_d

  • 我正在按照本指南将MySql添加到一个已经存在的SpringBoot项目中,该项目的依赖关系管理是在Graddle上。就在我添加教程中使用的这三个类时,如下所示 main/java/net/code/model/users.java 我的类使用@SpringBoot main/java/net/code/app.java 但每当我运行该应用程序时,我总是收到下面的消息 我搜索了一些相关问题,比如S

  • 我已经实现了keycloak用户存储SPI流。它针对外部源进行身份验证。Keycloak是用外部存储属性更新的,如果它在getUserByUsername方法中更新,它就可以工作。 我正在isValid方法中验证userValidation,并更新UserModel和LocalHashMap中的userAttributes。 从日志中,我看到UserStoreProviderFactory创建了两

  • 我正在尝试实现一个自定义密钥克拉克身份验证器SPI,用于针对外部数据源/REST服务进行身份验证。计划是将它们迁移到Keycloak。 成功后,在keycloak数据源上创建用户。 创建自定义映射器以在令牌上添加额外的用户属性。 我正在遵循官方指南https://www.keycloak.org/docs/latest/server_development/index.html#_auth_spi

  • 我正在设计一个定制的客户机-服务器tcp/ip应用程序。应用程序的网络要求如下: 能够通过安全的TCP/IP通道(在指定端口打开)说出自定义应用层协议。 设计目标之一是使应用程序具有可扩展性,因此负载平衡尤为重要。我一直在研究EC2和WindowsAzure的负载平衡功能。我相信现在大多数产品都支持要求1。但是我不太确定要求2和3。特别地: > 这些服务(EC2、Azure)是否允许应用程序通过指

  • 当尝试运行或调试带有applicationIdSuffix(.debug)的自定义BuildType时,手机上安装了应用程序,但正确的活动实际上并没有启动。实际上,启动了具有原始包名的活动(示例:在应该启动com.fobbymaster.app.debug时启动了com.fobbymaster.app)。 我在想,有一些配置需要修改,但我似乎找不到。 有什么想法吗? 设备SHELL命令:pm in