Update the extensions to a new Keycloak version - rwth-acis/keycloak-extensions GitHub Wiki
Before updating Keycloak to a new version, first check if all extensions are usable with the new version.
First, you have to build the extensions for the new Keycloak version. You can do it by simply change the <keycloak.version>
property in the parent pom.xml file to the desired version. For those extensions that contain source files of the official Keycloak repository, such as the account-console extension, you also have to check if these files have changed in the new version. After building the extension (mvn clean install
), deploy the extension to a Keycloak instance of the desired version and test it. If everything works, update your official Keycloak instance and deploy the extensions afterwards. Remember, in some cases you have to restart Keycloak after the deployment.
Update the account console
The account-console extension contains the whole source code of the account console of Keycloak. If a new version of Keycloak changes the account console, you have to merge the changes into the account-console extension. For finding changes and mege them into this project, you can use tools such as Meld. The source files of the official account console can be found here. Make sure that you have the right state of the files by selecting the corret branch/tag of the version. In most cases you can simply copy the new files into this project. Only the files in the /src/app/content/learnin-layers-account
folder, and the four files ContentPages.tsx
, PageNav.tsx
in /src/app
and keycloak.service.ts
and tsconfig.json
contain parts that were added to the official code. If the new version changes these two files, it requires to have a closer look at it. ContentPages.tsx
and PageNav.tsx
have some changes to improve the visibility of the current tab in the page bar on the left side. The keycloak.service.ts
file has only changed the path from which it imports a module, which is necessary due to some structure differences to the original directory structure.
Additionally, building the account console theme requires the file keycloak.d.ts. This should be compared to the one in the official repository too, which is loacted here.
The tsconfig.json
file is different because in the original repository they import a base file, but due to structural differences we do not have this base file and all settings have to be included in this file.