Using this module, users can directly log in or register with Keycloak credentials at this HumHub installation.
A new button "Keycloak" (which can be renamed) will appear on the login page.
Features
- OpenID Connect
- Keycloak Back-channel logout (1)
- Possibility to add a page in account settings allowing users to change their Keycloak password
- Users' groups and email synchronization between Keycloak and Humhub in both directions (2):
- Humhub to Keycloak sync is done in real time
- Keycloak to Humhub sync is done once a day
- Keycloak subgroups are not synced
(1) Allows removing user sessions automatically when signing out from Keycloak (via a websocket).
(2) E.g., when a user on Humhub becomes member of a group the module will:
- check if a group with the same name exists on Keycloak
- create the group on Keycloak if not exists
- add this group to the corresponding user on Keycloak
Requirements
- PHP 8.1 or later
- PHP
allow_url_fopen
must be enabled
- PHP extensions:
MBString
, JSON
and BCMath
or GMP
- Depending on the algorithms you're using, other PHP extensions may be required (e.g. OpenSSL, Sodium). Full details: https://web-token.spomky-labs.com/introduction/pre-requisite
- For users' groups and email synchronization: on Keycloak, users attributes must be writable (it can be tested by changing the email address of a user on Keycloak administration).
Configuration
Go to module's configuration at: Administration -> Modules -> Keycloak Auth -> Configure
.
And follow the instructions.
Pricing
This module is free, but is the result of a lot of work for the design and maintenance over time.
If it's useful to you, please consider making a donation or participating in the code. Thanks!
Repository
https://github.com/cuzy-app/humhub-modules-auth-keycloak
Publisher
CUZY.APP
Licence
GNU AGPL