第6章 WildFly および EAP 向け Red Hat build of Keycloak SAML Galleon 機能
Red Hat build of Keycloak SAML Galleon 機能パックを使用して、WildFly および EAP でアプリケーションを保護します。
SAML アダプターは、wildfly 29 以降の Galleon 機能パックとして配布されます。この件に関する詳細は、WildFly のドキュメント を参照してください。JBoss EAP 8 GA にも同じオプションが提供されています。
最新の Wildfly/EAP 上で実行されている JakartaEE アプリケーションと Keycloak を統合する方法の例は、Keycloak Quickstart GitHub リポジトリー の servlet-saml-service-provider
Jakarta フォルダーを参照してください。
6.1. インストール
機能パックのプロビジョニングは、それぞれ wildfly-maven-plugin、wildfly-jar-maven-plugin、または eap-maven-plugin を使用して行われます。
6.1.1. wildfly maven プラグインを使用したプロビジョニングの例
<plugin> <groupId>org.wildfly.plugins</groupId> <artifactId>wildfly-maven-plugin</artifactId> <version>5.0.0.Final</version> <configuration> <feature-packs> <feature-pack> <location>wildfly@maven(org.jboss.universe:community-universe)#32.0.1.Final</location> </feature-pack> <feature-pack> <groupId>org.keycloak</groupId> <artifactId>keycloak-saml-adapter-galleon-pack</artifactId> <version>26.2.5</version> </feature-pack> </feature-packs> <layers> <layer>core-server</layer> <layer>web-server</layer> <layer>jaxrs-server</layer> <layer>datasources-web-server</layer> <layer>webservices</layer> <layer>keycloak-saml</layer> <layer>keycloak-client-saml</layer> <layer>keycloak-client-saml-ejb</layer> </layers> </configuration> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>5.0.0.Final</version>
<configuration>
<feature-packs>
<feature-pack>
<location>wildfly@maven(org.jboss.universe:community-universe)#32.0.1.Final</location>
</feature-pack>
<feature-pack>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-galleon-pack</artifactId>
<version>26.2.5</version>
</feature-pack>
</feature-packs>
<layers>
<layer>core-server</layer>
<layer>web-server</layer>
<layer>jaxrs-server</layer>
<layer>datasources-web-server</layer>
<layer>webservices</layer>
<layer>keycloak-saml</layer>
<layer>keycloak-client-saml</layer>
<layer>keycloak-client-saml-ejb</layer>
</layers>
</configuration>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
6.1.2. wildfly jar maven プラグインを使用したプロビジョニングの例
<plugin> <groupId>org.wildfly.plugins</groupId> <artifactId>wildfly-jar-maven-plugin</artifactId> <version>11.0.2.Final</version> <configuration> <feature-packs> <feature-pack> <location>wildfly@maven(org.jboss.universe:community-universe)#32.0.1.Final</location> </feature-pack> <feature-pack> <groupId>org.keycloak</groupId> <artifactId>keycloak-saml-adapter-galleon-pack</artifactId> <version>26.2.5</version> </feature-pack> </feature-packs> <layers> <layer>core-server</layer> <layer>web-server</layer> <layer>jaxrs-server</layer> <layer>datasources-web-server</layer> <layer>webservices</layer> <layer>keycloak-saml</layer> <layer>keycloak-client-saml</layer> <layer>keycloak-client-saml-ejb</layer> </layers> </configuration> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-jar-maven-plugin</artifactId>
<version>11.0.2.Final</version>
<configuration>
<feature-packs>
<feature-pack>
<location>wildfly@maven(org.jboss.universe:community-universe)#32.0.1.Final</location>
</feature-pack>
<feature-pack>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-galleon-pack</artifactId>
<version>26.2.5</version>
</feature-pack>
</feature-packs>
<layers>
<layer>core-server</layer>
<layer>web-server</layer>
<layer>jaxrs-server</layer>
<layer>datasources-web-server</layer>
<layer>webservices</layer>
<layer>keycloak-saml</layer>
<layer>keycloak-client-saml</layer>
<layer>keycloak-client-saml-ejb</layer>
</layers>
</configuration>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
6.1.3. EAP Maven プラグインを使用したプロビジョニングの例
<plugin> <groupId>org.jboss.eap.plugins</groupId> <artifactId>eap-maven-plugin</artifactId> <version>1.0.0.Final-redhat-00014</version> <configuration> <channels> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-8.0</artifactId> </manifest> </channel> </channels> <feature-packs> <feature-pack> <location>org.keycloak:keycloak-saml-adapter-galleon-pack</location> </feature-pack> </feature-packs> <layers> <layer>core-server</layer> <layer>web-server</layer> <layer>jaxrs-server</layer> <layer>datasources-web-server</layer> <layer>webservices</layer> <layer>keycloak-saml</layer> <layer>keycloak-client-saml</layer> <layer>keycloak-client-saml-ejb</layer> </layers> </configuration> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin>
<plugin>
<groupId>org.jboss.eap.plugins</groupId>
<artifactId>eap-maven-plugin</artifactId>
<version>1.0.0.Final-redhat-00014</version>
<configuration>
<channels>
<channel>
<manifest>
<groupId>org.jboss.eap.channels</groupId>
<artifactId>eap-8.0</artifactId>
</manifest>
</channel>
</channels>
<feature-packs>
<feature-pack>
<location>org.keycloak:keycloak-saml-adapter-galleon-pack</location>
</feature-pack>
</feature-packs>
<layers>
<layer>core-server</layer>
<layer>web-server</layer>
<layer>jaxrs-server</layer>
<layer>datasources-web-server</layer>
<layer>webservices</layer>
<layer>keycloak-saml</layer>
<layer>keycloak-client-saml</layer>
<layer>keycloak-client-saml-ejb</layer>
</layers>
</configuration>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>