
[[_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-pax-http-undertow` 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

.Prerequisites
* You must be online and have access to the Maven repository.

ifeval::[{project_community}==true]
* For community it is 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}, 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 {maven_repository}, 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,subs="attributes"]
----
config:edit org.ops4j.pax.url.mvn
config:property-append org.ops4j.pax.url.mvn.repositories ,{maven_repository}@id=redhat.product.repo
config:update

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

.Procedure

. Start {fuse7Version}

. 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.

.Procedure

ifeval::[{project_product}==true]
.  Download the {project_name} Fuse adapter ZIP archive from the link:https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?downloadType=distributions&product=core.service.rhsso[Sotware Downloads] site.
endif::[]

ifeval::[{project_community}==true]
.  Download the {project_name} Fuse adapter ZIP archive from the link:https://www.keycloak.org/downloads[Downloads] site.
endif::[]
. 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/fuse-karaf-7.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.
