🌐 English version available — click here!
Ce projet est un exemple d’application Spring Boot intégrant Keycloak pour la gestion de l’authentification, l’inscription des utilisateurs, l'envoie d'email et les opérations CRUD. Il s’adresse à toute personne souhaitant sécuriser une API REST avec Keycloak.
- 🔐 Authentification via Keycloak
- 📝 Inscription d’utilisateurs
- 🛡️ Gestion des rôles (admin, user)
- 🗂️ Opérations CRUD sur les entités principales
- ☕ Java 17+
- 🐘 Maven
- 🐳 Docker (pour Keycloak)
-
Cloner le projet
git clone https://github.com/bayembacke221/demo-springboot-keycloak-auth-crud.git cd demo-springboot-keycloak-auth-crud
-
Lancer Keycloak avec Docker Compose
docker-compose up -d
-
Configurer Keycloak
Suivre les étapes ci-dessous (voir section "Configuration Keycloak").
-
Lancer l’application Spring Boot
./mvnw spring-boot:run
- Créer un Realm
- Créer un Client
- Créer des rôles
- Créer un utilisateur
- 🔑 Authentification : Obtenir un token via
/auth/realms/demo/protocol/openid-connect/token
- 📝 Inscription : Endpoint d’inscription utilisateur (exemple :
/api/register
) - 🗂️ CRUD : Endpoints pour créer, lire, mettre à jour, supprimer des entités protégées par Keycloak
Voir le code source pour le détail des endpoints (
src/main/java/sn/malcolm/demo/controller/
)
src/
main/
java/sn/malcolm/demo/
controller/ # Contrôleurs REST
model/ # Entités JPA
repository/ # Repositories Spring Data
security/ # Configurations Keycloak
service/ # Logique métier
view/ # DTOs
resources/
application.properties
keycloak/ # Captures d’écran de la configuration Keycloak
Voici quelques exemples d’utilisation de l’API via Postman :
- Mbacke Mbaye
N’hésite pas à contribuer ou à ouvrir une issue ! 😃