--- title: Keycloak created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, authentication, sso, oidc, saml, idm] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Authentication, https://github.com/keycloak/keycloak] --- # 🔐 Keycloak > Solution d'Identity and Access Management (IdM/SSO) de rĂ©fĂ©rence, open source et soutenue par Red Hat. ## 📋 Informations GĂ©nĂ©rales | Attribut | Valeur | |----------|--------| | **Nom** | Keycloak | | **Slug** | app-keycloak | | **Description** | IdM/SSO supportant OIDC, SAML 2.0, OAuth 2.0 et LDAP | | **Site officiel** | https://www.keycloak.org | | **Repository** | https://github.com/keycloak/keycloak | | **Stars** | 34 773 ⭐ | | **Licence** | Apache 2.0 | | **Langage principal** | Java | | **CatĂ©gorie** | Authentication | | **Tags** | [catalogue, authentication, sso, oidc, saml, idm] | ## 📝 Description Keycloak est la solution d'Identity Management (IdM) open source la plus mature du marchĂ©, dĂ©veloppĂ©e Ă  l'origine par JBoss et dĂ©sormais maintenue par Red Hat. Elle permet de centraliser l'authentification (SSO) et la gestion des identitĂ©s pour des dizaines d'applications, qu'elles soient en self-hosted ou en SaaS. Le projet supporte nativement les protocoles standards **OIDC**, **SAML 2.0**, **OAuth 2.0** et offre une fĂ©dĂ©ration d'identitĂ©s (LDAP/Active Directory, Kerberos, providers sociaux). Keycloak fournit Ă©galement un **User Federation**, la **social login** (Google, GitHub, Facebook...), la gestion fine des **rĂŽles** et **groupes**, le **MFA** (TOTP, WebAuthn), ainsi qu'une **Admin Console** complĂšte. C'est l'outil de choix pour les entreprises et les homelabs exigeants ayant besoin d'un IdM complet, Ă  la place d'Auth0, Okta ou Azure AD. La courbe d'apprentissage est plus raide que des solutions comme Authelia ou authentik, mais les capacitĂ©s sont incomparables. ## 🚀 Installation ### Via Docker (recommandĂ©) ```yaml # docker-compose.yml services: keycloak: image: quay.io/keycloak/keycloak:25.0 command: start environment: KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: changeme KC_DB: postgres KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak KC_DB_USERNAME: keycloak KC_DB_PASSWORD: keycloak ports: - "8080:8080" postgres: image: postgres:16 environment: POSTGRES_DB: keycloak POSTGRES_USER: keycloak POSTGRES_PASSWORD: keycloak volumes: - keycloak-db:/var/lib/postgresql/data volumes: keycloak-db: ``` ### Installation manuelle TĂ©lĂ©charger l'archive depuis le site officiel, exĂ©cuter `bin/kc.sh start-dev` pour le dev ou `bin/kc.sh start --hostname=auth.example.com` en production. PrĂ©voir Java 17+ et une base PostgreSQL/MySQL/MariaDB/Oracle. ## ⚙ Configuration - **Realm** : isolation logique (un par environnement/client) - **Clients** : enregistrement des apps consommatrices (OIDC/SAML) - **Identity Providers** : LDAP/AD, Google, GitHub, etc. - **MFA** : TOTP, WebAuthn, Recovery codes - **User Federation** : synchro avec annuaire existant - **Theme** : personnalisation CSS/HTML ## 🔗 Alternatives - **authentik** — IdM moderne avec UI soignĂ©e, plus simple Ă  prendre en main - **Authelia** — reverse proxy SSO, plus lĂ©ger mais moins complet - **Zitadel** — IdM cloud-native, comparable, orientĂ© multi-tenant ## 🔒 SĂ©curitĂ© - Activer le **MFA** par dĂ©faut sur les comptes sensibles - Mettre Keycloak derriĂšre **HTTPS** (Let's Encrypt) - DĂ©sactiver le compte `admin` initial, crĂ©er des comptes dĂ©diĂ©s - Activer les **brute force detection** et **event logging** - Mettre Ă  jour rĂ©guliĂšrement (CVEs frĂ©quentes) ## 📚 Ressources - Site officiel : https://www.keycloak.org - Repository GitHub : https://github.com/keycloak/keycloak - Documentation : https://www.keycloak.org/documentation ## 🔗 Pages LiĂ©es - [[cat-authentication]] (n'existe pas encore, OK) - [[app-authentik]] — Alternative moderne plus simple - [[app-authelia]] — Reverse proxy SSO lĂ©ger - [[app-zitadel]] — IdM cloud-native - [[app-traefik]] - [[recettes-docker-compose]] - [[securisation-home-lab]]