keycloak
The Keycloak module provides a Keycloak login provider client for the OpenID Connect module.
What does the module do?
The module allows you to authenticate your users against a Keycloak authentication server.
Keycloak is an Open Source Identity and Access Management system that supports OpenID Connect, OAuth 2.0 and SAML 2.0 login, LDAP and Active Directory user federation, OpenID Connect or SAML 2.0 identity brokering and various Social Logins out of the box.
Features
- Login to Drupal using Keycloak OpenID Connect.
- Synchronize user fields with OpenID attributes provided by Keycloak using the OpenID Connect module's claim mapping.
- Additionally synchronize email address changes from within Keycloak with the connected Drupal user's email address.
- Multi-language support:
- Forward language parameters to Keycloak, so the login/user registration of Keycloak opens up in the same language as your multi-language Drupal site.
- Map Keycloak's user locale settings to Drupal languages.
Version differences
8.x-1.x version
NEW: Added Drupal 10 support!
Integrates with OpenID Connect 2.x
2.2.x version
Drupal 10 version. Only supports OpenID Connect 3.x
The 2.x version contains a breaking change. Please check #3251827: Role mappping uses "user_data" instead of "userinfo" before upgrading to the 2.x version.
2.x Roadmap
- #2920950: Make use of the Keycloak user API to allow synchronization of user properties
- #3247260: Add compatibility to openid_connect version 2.x
- #3347830: [PLAN] openid_connect 3.x compatibility (D10)
Dependencies
Similar Projects
Keycloak supports OpenID Connect, OAuth2 and SAML standards for authentication clients. You might wish to also have a look to the following contributed modules to authenticate your Drupal users with Keycloak:
-
SAML Authentication
This module features SAML-based user authentication. User attributes mapping is in development. -
simpleSAMLphp Authentication
This module requires a working setup of SimpleSAMLphp as service provider on your webserver to connect to the Keycloak Identity Provider. It features SAML-based authentication and user role provisioning. -
OAuth2 Client
A basic OAuth2.0 client for Drupal that can be extended programmatically.