diff --git a/README.md b/README.md index c97e51c..5166a49 100644 --- a/README.md +++ b/README.md @@ -23,25 +23,35 @@ sure to read it and understand the config steps and the open issues and limitations before planning your Production environment. ## Status -This project is still at a beta stage. It has been successfully tested for SPID validation and +This project is still at a development stage but it has been successfully tested for SPID validation and **it's currently used in Production**. Until the project gets to a stable release, it will be targeting the most recent release of Keycloak as published on the website (see property `version.keycloak` in file `pom.xml`). -Currently the main branch is targeting Keycloak 23.0.6. **Do not use the latest release with previous -versions of Keycloak, it won't work!** +**Do not use the latest release with previous versions of Keycloak, it won't work!** Since this plugin uses some Keycloak internal modules, versions of this plugin are coupled to Keycloak versions. After (major) Keycloak upgrades, you will almost certainly have also to update this provider. ## Compatibility -* Keycloak 23.x.x: Release 1.0.17 -* Keycloak 19.x.x: Release 1.0.16 +* Keycloak 24.x.x: Release `24.0.1` +* Keycloak 23.x.x: Release `1.0.17` +* Keycloak 19.x.x: Release `1.0.16` ## Configuration -### Release 1.0.17 (latest, Keycloak 23.x.x compatibility) -With the latest release targeting latest Keycloak 23.x.x it's not possible to configure the plugin through the Keycloak web UI, +### Release 24.0.1 (latest, Keycloak 24.0.1 compatibility) +With this release targeting latest Keycloak 24.0.1 it was restored the possibility of configuring the plugin through +the Keycloak web UI, detailed instructions on how to install and configure this component are +available in the project wiki (https://github.com/italia/spid-keycloak-provider/wiki/Installing-the-SPID-provider). +To avoid errors, it's suggested to use anyway https://github.com/nicolabeghin/keycloak-spid-provider-configuration-client +#### IMPORTANT if upgrading from release 1.0.17 +Provider ID was changed from `spid` to `spid-saml` in order to account for [hardcoded Keycloak 24.x behavior](https://github.com/keycloak/keycloak/blob/a228b6c7c9ec7a54ee91bb547b42cc4097ae38e2/js/apps/admin-ui/src/identity-providers/add/DetailSettings.tsx#L396). Before upgrading the plugin make sure to run this SQL query against Keycloak database: + + UPDATE IDENTITY_PROVIDER SET PROVIDER_ID="spid-saml" WHERE PROVIDER_ID="spid" + +### Release 1.0.17 (Keycloak 23.x.x compatibility) +With the latest release targeting Keycloak 23.x.x it's not possible to configure the plugin through the Keycloak web UI, but only through REST services. Suggested to use https://github.com/nicolabeghin/keycloak-spid-provider-configuration-client ### Release 1.0.6 @@ -71,9 +81,10 @@ Requirements: Just run: ``` git clone https://github.com/italia/spid-keycloak-provider.git -docker run --rm -v $(pwd)/spid-keycloak-provider:/opt/spid-keycloak-provider -w /opt/spid-keycloak-provider maven:3.8.6-openjdk-18-slim bash -c "mvn clean package" +cd spid-keycloak-provider +docker run --rm -v $(pwd):/opt/spid-keycloak-provider -w /opt/spid-keycloak-provider maven:3.8.6-openjdk-18-slim bash -c "mvn clean package" ``` -The output package will be generated under `spid-keycloak-provider/target/spid-provider.jar`. +The output package will be generated under `target/spid-provider.jar`. ## Deployment This provider should be deployed as a module, i.e. copied under @@ -91,26 +102,6 @@ If successful you will find a new provider type called `SPID` in the ## Upgrading from previous versions Upgrades are usually seamless, just repeat the deployment command. -Sometimes Keycloak caches don't get flushed when a new deployment occurs; in that case you will need -to edit the file `{$KEYCLOAK_PATH}/standalone/configuration/standalone.xml`, find the following section -``` - - 2592000 - true - true - ${jboss.home.dir}/themes - -``` -and change it to: -``` - - -1 - false - false - ${jboss.home.dir}/themes - -``` - Then restart Keycloak and it will reload the resources from the packages. Make sure you also clear your browser caches or use incognito mode when verifying the correct deployment. After the first reload you can turn back on the caches and restart Keycloak again.