在Keycloak中实现自定义SPI

时间:2020-07-01 08:08:01

标签: java angular keycloak

我已经开始使用angular开发KeyCloak,并且我想尝试添加自己的自定义SPI。但是我无法理解初始过程。就像我需要创建一个新的Java项目或打开一些我找不到的现有项目。在文档中也不清楚。如果有人可以帮助我进行启动,导入和设置,我将不胜感激。预先感谢。

1 个答案:

答案 0 :(得分:0)

是的,您需要执行以下步骤:

  • 注意您要自定义的 SPI。有多个选项,例如用于用户存储、主题化、身份验证等的 SPI。有关详细信息,请参阅 https://www.keycloak.org/docs/latest/server_development/#available-spis
  • 对于构建 Java 项目所需的每个 SPI。这是通过 HTTP 客户端 https://github.com/adviqo-GmbH/keycloak/compare/master...adviqo-GmbH:feature/http-storage 自定义 UserStorage SPI 的示例 - 这是一个差异。您需要一个 pom.xml、一些 java 类和至少 META-INF/services/org.keycloak.storage.UserStorageProviderFactory 下的一个属性,其中包含对特定类的引用
  • 然后您需要使用 maven/java 构建 SPI 模块。
  • 结果(这里是 JAR 的形式,但 WAR 和 EAR 也是可能的)必须放在 <keycloak-home>/standalone/deployments 中。
  • Keycloak 将在启动期间识别新的自定义 SPI。

就是这样。当然 - 这并不容易,而且文档 https://www.keycloak.org/docs/latest/server_development/#_providers 对初学者不是很有帮助。