Files
2026-06-09 18:40:21 +02:00

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 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

🔗 Pages Liées