4.1 KiB
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é)
# 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
admininitial, 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