是否可以基于 Keycloak SPI 制作 Keycloak 侦听器以将配置从领域复制到新创建的领域?

时间:2021-04-04 03:31:17

标签: plugins keycloak

我们有一个用例,当用户在 Keycloak 中创建新领域(例如:“realmNew”)时,需要将现有领域中的一些配置和资源(例如:“realmOld”中的所有角色)复制到新领域中创建领域。

我做了一些研究,发现 Keycloak 提供了 SPI 来实现监听特定事件并执行操作的插件。 就我而言,事件将是领域创建。当我尝试在插件中实现接口EventListenerProvider时,我在这个接口中找到了方法:

void onEvent(AdminEvent event, boolean includeRepresentation);

输入是 AdminEvent 类。因此,这意味着侦听器无法访问 keycloak 的任何内部资源(例如:领域、角色、用户...) 在这种情况下,基于 Keycloak SPI 的侦听器插件似乎不适用于我的设计。我应该找到另一种方法。

有谁知道我的理解是否正确?或者有什么建议?

1 个答案:

答案 0 :(得分:0)

按照某人的建议,我做了一些调查。我可以在方法中看到每个 Provider 类都有一个对应的 ProviderFactory 类/接口:

ViewBag.term = termDetail.ToExpando();

KeycloakSession 的一个实例在运行时可用。所以session对象可以用来获取大量的内部资源,这使得我打算做的操作是可行的。

相关问题