Skip to content

Commit

Permalink
update README
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolabeghin committed Mar 6, 2024
1 parent 15e12fb commit 8bb04dc
Showing 1 changed file with 20 additions and 29 deletions.
49 changes: 20 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
```
<theme>
<staticMaxAge>2592000</staticMaxAge>
<cacheThemes>true</cacheThemes>
<cacheTemplates>true</cacheTemplates>
<dir>${jboss.home.dir}/themes</dir>
</theme>
```
and change it to:
```
<theme>
<staticMaxAge>-1</staticMaxAge>
<cacheThemes>false</cacheThemes>
<cacheTemplates>false</cacheTemplates>
<dir>${jboss.home.dir}/themes</dir>
</theme>
```

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

0 comments on commit 8bb04dc

Please sign in to comment.