Comparatif 2026 : Keycloak vs Zitadel vs Logto — quel outil open-source choisir pour l'authentification de vos projets ?
Keycloak 26.6, Zitadel v4.16 ou Logto v1.41 ? Comparatif complet des solutions open-source d'authentification en 2026 : licences (⚠️ changées), versions, multi-tenant, prix et verdict.
Pourquoi comparer Keycloak, Zitadel et Logto ?
Choisir une solution d'authentification pour son projet, c'est souvent un casse-tête. On connaît tous Auth0 et Firebase Auth, mais côté open-source, trois solutions dominent le paysage en 2026 : Keycloak, Zitadel et Logto.
Chacune a sa philosophie, son langage, sa courbe d'apprentissage et ses cas d'usage idéaux. Cet article les compare point par point, pour t'aider à choisir celle qui correspond à ton projet — que tu construises un SaaS multi-tenant, une app monolithique ou une plateforme B2B.
Cet article est à jour des dernières versions de juillet 2026.
Présentation rapide
Keycloak
Pilier historique de l'authentification open-source. Lancé par Red Hat, écrit en Java (Quarkus), Keycloak est aujourd'hui l'un des projets les plus matures du marché. Il supporte OIDC, OAuth2 et SAML, et s'intègre avec LDAP, Active Directory, les réseaux sociaux, et à peu près tout ce qui existe. Version actuelle : 26.6.0 (avril 2026). 35,6k ⭐ sur GitHub.
Son point fort : la maturité. Son point faible : la complexité et la consommation de ressources.
Zitadel
Le cloud natif. Développé par CAOS AG en Go, Zitadel a été pensé dès le départ pour le SaaS multi-tenant. Il repose sur une architecture event sourcing et CQRS, et propose une gestion fine des organisations, des rôles et des permissions. Version actuelle : v4.16.0 (juillet 2026). 14,4k ⭐ sur GitHub.
Son point fort : le multi-tenant B2B natif. Son point faible : une communauté plus jeune.
Logto
L'expérience développeur. Le plus jeune des trois (lancé en 2022), écrit en TypeScript/Node.js. Logto mise tout sur la simplicité de mise en œuvre : une API claire, des SDK prêts à l'emploi, une console d'administration intuitive, et des composants UI préfabriqués pour le login. Version actuelle : v1.41.0 (juin 2026). 14,2k ⭐ sur GitHub.
Son point fort : la DX (developer experience). Son point faible : moins de fonctionnalités avancées que les deux autres.
Tableau comparatif complet (mis à jour juillet 2026)
| Critère | Keycloak | Zitadel | Logto |
|---|---|---|---|
| Version actuelle | 26.6.0 | v4.16.0 | v1.41.0 |
| Langage | Java (Quarkus) | Go | TypeScript (Node.js) |
| Première version | 2014 | 2020 | 2022 |
| Licence | ✅ Apache 2.0 | ⚠️ AGPL-3.0 | ⚠️ MPL-2.0 |
| Stars GitHub | 35,6k ⭐ | 14,4k ⭐ | 14,2k ⭐ |
| Standards supportés | OIDC, OAuth2, SAML | OIDC, OAuth2, SAML | OIDC, OAuth2, SAML |
| Multi-tenant natif | Realms (+ Organizations) | ✅ Organizations | ✅ Tenants |
| Social login | ✅ (nombreux providers) | ✅ | ✅ |
| LDAP / AD | ✅ (intégré natif) | ❌ | ❌ |
| SAML | ✅ IdP + SP | ✅ Complet | ✅ Nouveau support |
| MFA / 2FA | ✅ (TOTP, SMS, etc.) | ✅ | ✅ (Adaptive MFA) |
| Passwordless | ✅ | ✅ | ✅ (Passkey sign-in) |
| Workflows / IGA | ✅ Nouveau (YAML) | ✅ Custom workflows | ⚠️ Simplifié |
| Zero-downtime | ✅ Nouveau (26.6) | ✅ Natif (K8s) | ✅ Rolling updates |
| Support IA / MCP | ✅ Expérimental | ❌ | ✅ Annoncé |
| FIPS 140-3 | ❌ | ✅ Nouveau (v4.16) | ❌ |
| Base de données | PostgreSQL, MySQL, MariaDB | CockroachDB / PostgreSQL | PostgreSQL |
| Déploiement | Docker, K8s, standalone JAR | Docker, K8s (recommandé) | Docker, K8s |
| Ressources (minimum) | 1–2 Go RAM | 512 Mo – 1 Go | 256 – 512 Mo |
| Cloud managé | Via tiers (Skycloak, Cloud-IAM) | ✅ Zitadel Cloud | ✅ Logto Cloud |
| Pricing cloud | Red Hat SSO (payant) | Free / Pro ($100/mois) / Enterprise | Free / Pro ($24/mois) / Enterprise |
⚠️ Changements de licence importants en 2026
Deux des trois solutions ont changé de licence depuis la rédaction des premiers comparatifs :
• Zitadel est passé d'Apache 2.0 à AGPL-3.0 — une licence fortement copyleft. Toute modification doit être partagée si le service est utilisé en réseau. Des licences commerciales sont disponibles pour les entreprises qui ne peuvent pas se conformer à l'AGPL.
• Logto est passé de MIT + BSL à MPL-2.0 — une licence open-source OSI-approved avec copyleft au niveau fichier. Les modifications d'un fichier doivent être partagées, pas nécessairement le reste du projet.
• Keycloak reste sous Apache 2.0 (licence permissive, aucun changement).
C'est un critère de choix important si tu travailles dans un environnement corporate avec des contraintes juridiques.
Nouveautés de chaque solution en 2026
Keycloak 26.6 — Cinq fonctionnalités majeures passent en production
• Zero-downtime patch releases : mises à jour rolling sans interruption de service (Kubernetes, mode "Auto").
• Federated Client Authentication : plus besoin de client secrets, utilise des credentials externes (OIDC, Kubernetes Service Accounts).
• Workflows (IGA) : automatisation en YAML du cycle de vie des utilisateurs et clients.
• JWT Authorization Grant (RFC 7523) : échange de JWT externes contre des tokens OAuth 2.0.
• Keycloak Test Framework : remplace Arquillian pour les tests.
Keycloak introduit aussi le support expérimental de MCP (Model Context Protocol) pour les agents IA, la hiérarchie de groupes isolée par organisation, et les Identity Brokering APIs V2.
Zitadel v4 — La maturité cloud-native
• Resource-based APIs (V2) : API orientées ressources (users, sessions, projects).
• Hosted Login V2 : page de login auto-hébergée devient l'expérience par défaut.
• Nouveaux SDKs : Java, Python, PHP, Ruby — en plus de Go.
• FIPS 140-3 compliant : build et runtime checks pour les environnements gouvernementaux (v4.16).
• PostgreSQL officiellement supporté : plus besoin de CockroachDB pour les déploiements standards.
Logto v1.41 — La montée en puissance
• App-level access control : restreindre l'accès aux apps par user, rôle, organisation.
• Password expiration policy : politique de rotation des mots de passe par tenant.
• Account Center : gestion des sessions, profil, avatar, passkey controls par l'utilisateur.
• OAuth 2.0 Device Authorization Grant : pour les appareils sans navigateur.
• Adaptive MFA et Passkey sign-in : comme facteur principal d'authentification.
• JWT customization : claims contextuels par organisation.
Installation et déploiement
Keycloak
Avec le passage à Quarkus, Keycloak est devenu plus simple à déployer qu'à l'époque WildFly. Un simple JAR et une commande start suffisent :
docker run -p 8080:8080 \
-e KC_DB=postgres \
-e KC_DB_URL=jdbc:postgresql://db/keycloak \
-e KC_DB_USERNAME=keycloak \
-e KC_DB_PASSWORD=*** \
-e KEYCLOAK_ADMIN=admin \
-e KEYCLOAK_ADMIN_PASSWORD=*** \
quay.io/keycloak/keycloak:latest startKeycloak démarre sur le port 8080. La première connexion à l'interface d'admin te demande de créer un utilisateur admin, puis tu arrives sur le tableau de bord. L'image fait environ 400 Mo compressée.
Zitadel
Zitadel se déploie idéalement sur Kubernetes, mais un setup Docker Compose est disponible pour le développement. PostgreSQL est maintenant officiellement supporté :
version: "3.8"
services:
zitadel:
image: ghcr.io/zitadel/zitadel:latest
command: start-from-init
ports:
- "8080:8080"
environment:
ZITADEL_DATABASE_POSTGRES_USER: zitadel
ZITADEL_DATABASE_POSTGRES_PASSWORD: ***
ZITADEL_DATABASE_POSTGRES_HOST: db
depends_on:
- db
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: zitadel
POSTGRES_PASSWORD: ***Le start-from-init est pratique : il initialise automatiquement le schéma et crée l'utilisateur admin au premier démarrage. En production, CockroachDB reste recommandé pour la scalabilité, mais PostgreSQL est largement suffisant pour la majorité des projets.
Logto
Logto est probablement le plus simple à installer. Un seul conteneur et PostgreSQL suffisent :
docker run -d \
--name logto \
-p 3001:3001 \
-p 3002:3002 \
-e TRUST_PROXY_HEADER=1 \
-e DB_URL=postgres://logto:password@db/logto \
svhd/logto:latestLogto expose deux ports : l'API (3001) et la console d'administration (3002). Le démarrage est rapide, et la consommation mémoire est la plus faible des trois (environ 256 Mo).
Gestion des utilisateurs et des organisations
Keycloak : la référence complète
Keycloak gère les utilisateurs via des realms. Chaque realm est un espace isolé avec ses propres utilisateurs, rôles et configurations. Avec la v26, la fonctionnalité Organizations apporte une gestion d'isolation supplémentaire. C'est le système le plus flexible, mais il demande de la rigueur.
Keycloak excelle dans les environnements d'entreprise avec Active Directory ou LDAP : la synchronisation est native, les fédérations d'identités sont robustes.
Zitadel : le SaaS multi-tenant
Zitadel a été construit autour de la notion d'organizations. Chaque organisation a ses propres utilisateurs, rôles, projets et clients OIDC. La gestion des rôles est très fine, avec un système de rôles hérités et un contrôle d'accès basé sur les projets.
L'approche event sourcing permet de tracer chaque action (qui a invité qui, quand, etc.) — très utile pour l'audit en contexte B2B.
Logto : la simplicité payante
Logto propose une gestion des utilisateurs plus simple mais bien conçue. Les tenants permettent l'isolation, et la console d'administration est claire et intuitive. Les API REST sont bien documentées et le SDK TypeScript est un vrai plus.
Logto fournit aussi des composants UI prêts à l'emploi (React, Vue), ce qui évite de réinventer la page de connexion. Idéal pour les équipes qui veulent un résultat rapide.
Alternatives émergentes en 2026
Le marché de l'authentification open-source s'est enrichi. D'autres solutions crédibles ont émergé :
• Authentik (Python + Go, MIT, 22,3k ⭐) — Alternative à Okta et Auth0, très populaire en homelab, UI soignée.
• Casdoor (Go, Apache 2.0) — Interface similaire à Keycloak, plus léger, bonne alternative pour les équipes qui veulent du Go.
• Ory (Hydra + Kratos) (Go, Apache 2.0) — Approche modulaire, très flexible mais plus complexe à assembler.
Comme le dit Skycloak : "En 2020, Keycloak était essentiellement la seule solution IAM open-source de qualité production. En 2026, les équipes ont plusieurs options crédibles."
Quand choisir quoi ?
✅ Keycloak pour les environnements enterprise et legacy
• Tu dois t'intégrer avec Active Directory ou LDAP
• Tu as besoin du protocole SAML (IdP + SP)
• Tu travailles dans une grosse équipe avec des besoins enterprise
• La licence Apache 2.0 est un critère juridique important
✅ Zitadel pour le SaaS B2B multi-tenant
• Tu construis un SaaS multi-tenant avec des organisations clientes
• Tu veux une gestion fine des rôles et permissions par organisation
• Tu as besoin d'une traçabilité complète (audit log)
• Tu es à l'aise avec Kubernetes et l'AGPL-3.0 ne te pose pas problème
✅ Logto pour les startups, MVP, et équipes réduites
• Tu veux un système d'auth fonctionnel en quelques minutes
• Tu es en TypeScript et tu veux des SDK natifs
• Tu apprécies les consoles d'administration modernes
• Tu n'as pas besoin de SAML ni d'intégration LDAP
• La licence MPL-2.0 te convient
Verdict final
| Critère de choix | Recommandation |
|---|---|
| Maturité et communauté | Keycloak |
| SaaS multi-tenant | Zitadel |
| Simplicité et DX | Logto |
| Performance et légèreté | Logto puis Zitadel |
| Entreprise / LDAP / SAML | Keycloak |
| Licence permissive | Keycloak (Apache 2.0) |
| Cloud managé | Zitadel ou Logto |
| Projet solo ou petite équipe | Logto |
| Grosse équipe / legacy | Keycloak |
| IA / Agents (MCP) | Keycloak ou Logto |
| Conformité FIPS 140-3 | Zitadel |
Mon conseil : si tu démarres un projet vert, regarde Logto en premier (le temps d'installation est imbattable et la DX est excellente). Si tu construis un B2B SaaS multi-tenant, Zitadel est clairement ta cible — mais vérifie que la licence AGPL-3.0 est compatible avec ton projet. Si tu travailles dans une grosse structure ou que tu as des contraintes SSO legacy, Keycloak reste la valeur sûre avec sa licence Apache 2.0 rassurante pour les directions juridiques.
Et bien sûr, rien ne t'empêche d'en tester deux en parallèle — le temps d'un prototype, le choix se clarifie vite.
Article rédigé par Aplix — développeur full-stack (Laravel, Vue.js, Nuxt). Tu peux me suivre sur blogs.aplix.nl pour plus de comparatifs et de retours d'expérience.