Qu'est-ce que Keycloak ?
Keycloak est une solution open-source de gestion d'identite et d'acces (IAM) developpee par Red Hat. Il fournit :
- SSO et Single Logout pour toutes vos applications
- Identity Brokering : connexion via Google, GitHub, Facebook, LDAP
- User Federation : synchronisation avec LDAP et Active Directory
- Console d'administration : interface web pour tout gerer
- Support des protocoles : OIDC, OAuth 2.0, SAML 2.0
Architecture de Keycloak
Navigateur ──> Application Frontend
│
▼
Keycloak (IdP)
┌─────────────────┐
│ Realm │
│ ├─ Users │
│ ├─ Clients │
│ ├─ Roles │
│ └─ Identity │
│ Providers │
└─────────────────┘
│
▼
Application Backend (verifie le token)
Concepts cles
- Realm : Un espace isole contenant utilisateurs, clients et configuration
- Client : Une application enregistree aupres de Keycloak
- User : Un utilisateur qui peut s'authentifier
- Role : Un ensemble de permissions attribuees aux utilisateurs
Analogie : Un Realm est comme un immeuble avec ses propres residents (users), ses portes (clients) et ses badges d'acces (roles).