0

我已经实现了一个自定义事件侦听器,Keycloak并且能够使用standalone-ha.xml

<!-- This works -->
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
    ...
    <spi name="eventsListener">
        <provider name="custom-listener" enabled="true">
            <properties>
                <property name="host" value="http://host.docker.internal:9999"/>
            </properties>
        </provider>
    </spi>
    ...

现在我正在尝试使用 CLI 实现相同的配置。

我打电话jboss-cli.sh

[disconnected /] connect
[standalone@localhost:9990 /] /subsystem=keycloak-server/spi=eventsListener/provider=custom-listener/:map-put(name=properties,key=host,value=http://host.docker.internal:9999)

并得到错误:

{
    "outcome" => "failed",
    "failure-description" => "WFLYCTL0216: Management resource '[
    (\"subsystem\" => \"keycloak-server\"),
    (\"spi\" => \"eventsListener\")
]' not found",
    "rolled-back" => true
}

当我通过 CLI 浏览到适当的文件夹时,我看不到所有可用的 SPI Keycloak

[standalone@localhost:9990 /] cd subsystem=keycloak-server/spi
[standalone@localhost:9990 spi] ls
connectionsHttpClient  connectionsJpa         hostname               publicKeyStorage       timer                  userSessionPersister
connectionsInfinispan  eventsStore            jta-lookup             realmCache             userCache              x509cert-lookup

Keycloak SPI

问题是:其余的 SPI 在哪里?或者更具体地说,如何eventsListener通过 CLI 配置 SPI?

4

1 回答 1

1

最后,我想通了。

的内容与文件subsystem=keycloak-server/spi完全匹配standalone-ha.xml。因此,eventsListener在您明确创建它之前不可用。

这一系列 CLI 指令有效:

/subsystem=keycloak-server/spi=eventsListener/:add
/subsystem=keycloak-server/spi=eventsListener/provider=custom-listener:add(enabled=true)
/subsystem=keycloak-server/spi=eventsListener/provider=custom-listener/:map-put(name=properties,key=host,value=http://host.docker.internal:9999)
于 2020-09-10T10:20:36.070 回答