Skip to main content

Extensions KeyCloak

En dehors des extensions obligatoires ajoutés dans Keycloak pour gérer les utilisateurs dans l'annuaire de Open ENT, Keycloak propose un nombre important de fonctionnalités interessantes.

En voici une liste non exhaustive :

🔐 Sécurité et Authentification

FeatureÉtatDescription
ADMIN_FINE_GRAINED_AUTHZPreviewActive l'autorisation fine pour l'administration, permettant de définir des permissions détaillées pour l'accès à l'interface d'administration.
ADMIN_FINE_GRAINED_AUTHZ_V2ExperimentalNouvelle version expérimentale de l'autorisation fine-grainée pour l'administration avec des améliorations de performance et de configuration.
CLIENT_SECRET_ROTATIONPreviewPermet de faire pivoter automatiquement les secrets des clients pour améliorer la sécurité et réduire les risques liés aux secrets statiques.
PASSKEYSPreviewActive la prise en charge des Passkeys (authentification sans mot de passe) en utilisant WebAuthn.
RECOVERY_CODESPreviewAjoute une fonctionnalité de codes de récupération pour l’authentification à deux facteurs (2FA).
UPDATE_EMAILPreviewPermet aux utilisateurs de changer leur adresse e-mail avec vérification.
TOKEN_EXCHANGEPreviewActive l’échange de jetons OAuth2 pour obtenir un jeton d’un autre client ou d’un autre utilisateur.

🛠️ Expérimental et Gestion de l’Infrastructure

FeatureÉtatDescription
CACHE_EMBEDDED_REMOTE_STOREExperimentalPermet d'utiliser un cache distant pour stocker les données de Keycloak, réduisant ainsi la charge sur la base de données.
CLIENT_TYPESExperimentalIntroduit de nouveaux types de clients pour améliorer la gestion et la configuration.
CLUSTERLESSExperimentalPermet d’exécuter Keycloak sans nécessiter un cluster Infinispan, ce qui simplifie les déploiements en mode stateless.
MULTI_SITEExperimentalPermet de synchroniser des instances Keycloak entre plusieurs sites pour assurer une haute disponibilité.

🖥️ Expérience Utilisateur et Interface

FeatureÉtatDescription
DECLARATIVE_UIExperimentalPermet de configurer l’interface d’administration de manière déclarative (JSON ou YAML).
LOGIN_V1-Active l'ancienne version du formulaire de connexion (au cas où vous voudriez revenir à une version plus simple).
QUICK_THEMEExperimentalFacilite la création et l’application de thèmes personnalisés pour l’interface de connexion et l’administration.

🔗 Protocoles et Intégrations

FeatureÉtatDescription
DOCKER-Active l'authentification pour Docker Registry en utilisant Keycloak comme fournisseur d'identité.
DPOPPreviewPrend en charge la protection OAuth2 DPoP (Demonstrating Proof-of-Possession) pour empêcher le vol de jetons d’accès.
DYNAMIC_SCOPESExperimentalAjoute la gestion des scopes dynamiques dans OAuth2/OpenID Connect, permettant des autorisations flexibles en fonction des requêtes.
OID4VC_VCIExperimentalImplémente OpenID for Verifiable Credentials (OID4VC), permettant d'émettre et de vérifier des identités numériques vérifiables.

📊 Monitoring et Analyse

FeatureÉtatDescription
USER_EVENT_METRICSPreviewActive la collecte de métriques sur les événements utilisateur, utile pour analyser l’activité et la sécurité.

🛠️ Autres Intégrations

FeatureÉtatDescription
FIPS-Ajoute la compatibilité avec les normes de cryptographie FIPS 140-2, utilisées dans les environnements réglementés.
IPA_TUURA_FEDERATIONExperimentalAjoute une fédération d'identité avec FreeIPA, un outil d’authentification centralisée.
TRANSIENT_USERSExperimentalPermet de gérer des utilisateurs temporaires, créés uniquement pour la durée d'une session.

Extension activée

  • Les features suivantes sont activés dans Open ENT (ADMIN_FINE_GRAINED_AUTHZ, CLIENT_SECRET_ROTATION, PASSKEYS).
  • Le container Docker est paramètré pour supporter les paramètres nécessaires à l'activation
bin/kc.sh start --features=PASSKEYS,ADMIN_FINE_GRAINED_AUTHZ