
[[_fuse7_install_feature]]
===== Installing the Keycloak Feature

You must first install the `keycloak-pax-http-undertow` and `keycloak-jaas` features in the JBoss Fuse environment. The `keycloak` feature includes the Fuse adapter and all third-party dependencies. The `keycloak-jaas` contains JAAS module used in realm for SSH and JMX authentication. You can install it either from the Maven repository or from an archive.

====== Installing from the Maven Repository

As a prerequisite, you must be online and have access to the Maven repository.

ifeval::[{project_community}==true]
For community it's sufficient to be online as all the artifacts and 3rd party dependencies should be available in the maven central repository.
endif::[]
ifeval::[{project_product}==true]
For {project_name} you first need to configure a proper Maven repository, so you can install the artifacts. For more information see the
https://access.redhat.com/maven-repository[JBoss Enterprise Maven repository] page.

Assuming the Maven repository is https://maven.repository.redhat.com/ga/, add the following to the `$FUSE_HOME/etc/org.ops4j.pax.url.mvn.cfg` file and add the repository to the list of supported repositories. For example:

[source]
----
config:edit org.ops4j.pax.url.mvn
config:property-append org.ops4j.pax.url.mvn.repositories ,https://maven.repository.redhat.com/ga@id=redhat.product.repo
config:update

feature:repo-refresh 
----
endif::[]

To install the keycloak feature using the Maven repository, complete the following steps:

. Start {fuse7Version}; then in the Karaf terminal type:
+
[source,subs="attributes"]
----
feature:repo-add mvn:org.keycloak/keycloak-osgi-features/{project_versionMvn}/xml/features
feature:install keycloak-pax-http-undertow keycloak-jaas
----

. You might also need to install the Undertow feature:
+
[source]
----
feature:install pax-http-undertow
----

. Ensure that the features were installed:

[source]
----
feature:list | grep keycloak
----

====== Installing from the ZIP bundle

This is useful if you are offline or do not want to use Maven to obtain the JAR files and other artifacts.

To install the Fuse adapter from the ZIP archive, complete the following steps:

. Download the {project_name} Fuse adapter ZIP archive.
. Unzip it into the root directory of JBoss Fuse. The dependencies are then installed under the `system` directory. You can overwrite all existing jar files.
+
Use this for {fuse7Version}:
+
[source,subs="attributes"]
----
cd /path-to-fuse/jboss-fuse-7.0.z
ifeval::[{project_community}==true]
unzip -q /path-to-adapter-zip/keycloak-fuse-adapter-{project_versionMvn}.zip
endif::[]
ifeval::[{project_product}==true]
unzip -q /path-to-adapter-zip/rh-sso-{project_version}-fuse-adapter.zip
endif::[]
----
. Start Fuse and run these commands in the fuse/karaf terminal:
+
[source,subs="attributes"]
----
feature:repo-add mvn:org.keycloak/keycloak-osgi-features/{project_versionMvn}/xml/features
feature:install keycloak-pax-http-undertow keycloak-jaas
----

. Install the corresponding Undertow adapter. Since the artifacts are available directly in the JBoss Fuse `system` directory, you do not need to use the Maven repository.

