Chapter 4. Upgrading Red Hat build of Keycloak adapters
After you upgrade the Red Hat build of Keycloak server, you can upgrade the adapters. Earlier versions of the adapter might work with later versions of the Red Hat build of Keycloak server, but earlier versions of the Red Hat build of Keycloak server might not work with later versions of the adapter.
4.1. Compatibility with older adapters
Newer versions of the Red Hat build of Keycloak server potentially work with older versions of the adapters. However, some fixes of the Red Hat build of Keycloak server may break compatibility with older versions of the adapters. For example, a new implementation of the OpenID Connect specification may not match older client adapter versions.
For this situation, you can use Compatibility modes. For OpenID Connect clients, the Admin Console includes OpenID Connect Compatibility Modes on the page with client details. With this option, you can disable some new aspects of the Red Hat build of Keycloak server to preserve compatibility with older client adapters. For more details, see the tool tips of individual switches.
4.2. Upgrading the EAP adapter
To upgrade the JBoss EAP adapter, complete the following steps:
Procedure
- Download the new adapter archive.
-
Remove the previous adapter modules by deleting the
EAP_HOME/modules/system/add-ons/keycloak/
directory. -
Unzip the downloaded archive into
EAP_HOME
.
4.3. Upgrading the JavaScript adapter
To upgrade a JavaScript adapter that has been copied to your web application, perform the following procedure.
Procedure
- Download the new adapter archive.
-
Overwrite the
keycloak.js
file in your application with thekeycloak.js
file from the downloaded archive.
4.4. Upgrading the Node.js
adapter
To upgrade a Node.js
adapter that has been copied to your web application, perform the following procedure.
Procedure
- Download the new adapter archive.
-
Remove the existing
Node.js
adapter directory - Unzip the updated file into its place
-
Change the dependency for keycloak-connect in the
package.json
of your application