第 4 章 管理子系统配置
可以通过编辑发行版中的 standalone.xml、standalone-ha.xml 或 domain.xml 文件来实现 Red Hat Single Sign-On 的低级别配置。这个文件的位置取决于您的 操作模式。
虽然您可以在此处配置无外的设置,但本节将重点介绍 keycloak-server 子系统的配置。无论您使用哪个配置文件,Keycloak -server 子系统的配置都相同。
keycloak-server 子系统通常会声明在文件末尾,如下所示:
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.2"> <web-context>auth</web-context> ... </subsystem>
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.2">
<web-context>auth</web-context>
...
</subsystem>
请注意,这个子系统中的任何更改在服务器重启后不会生效。
4.1. 配置 SPI 供应商 复制链接链接已复制到粘贴板!
使用该设置的上下文中讨论每个配置设置的具体细节。但是,了解用于声明 SPI 提供程序设置的格式很有用。
Red Hat Single Sign-On 是一个高度模块化的系统,实现了极大的灵活性。超过 50 个服务提供商接口(SPI),您可以交换出每个 SPI 的实现。SPI 的实施称为 提供程序。
SPI 声明中的所有元素都是可选的,但完整的 SPI 声明如下所示:
在这里,我们为 SPI myspi 定义了两个提供程序。default-provider 列为 myprovider。但是,最多是 SPI 来确定它如何处理此设置。有些 SPI 允许多个提供程序,有些则不允许。因此,default-provider 可以帮助 SPI 选择。
SPI 属性 可以用来指定 SPI 特定的配置属性。例如,用户、client 和 role SPI 允许通过 storageProviderTimeout 属性以毫秒为单位配置存储供应商超时,如下所示:
<spi name="user">
<properties>
<property name="storageProviderTimeout" value="10000"/>
</properties>
</spi>
<spi name="user">
<properties>
<property name="storageProviderTimeout" value="10000"/>
</properties>
</spi>
另请注意,每个供应商都定义了自己的一组配置属性。上述两个提供程序的事实具有名为 foo 的属性,只是一个统一的显示。
每个属性值的类型由提供程序来解释。但是,有一个例外。考虑 eventsStore SPI 的 jpa 供应商:
我们看到该值以方括号开头和结束。这意味着该值将作为列表传递到提供程序。在本例中,系统将传递提供程序一个列表,其两个元素值为 EVENT1 和 EVENT2。要在列表中添加更多值,只需使用逗号分隔各个列表元素。不幸的是,您需要使用 " 转义引号括起 每个列表元素。
有关自定义提供程序和配置的详情,请遵循 服务器开发人员指南。