Tous les Projets
Backend
Microservices Sécurisés — OAuth2 / OIDC / Keycloak
Microservices e-commerce sécurisés où Keycloak est le serveur d'autorisation central. Deux resource servers Spring Boot (inventaire, commandes) valident les JWT émis par Keycloak ; order-service appelle inventory via OpenFeign avec propagation du token ; un client Angular se connecte via OIDC.
2
Resource servers
Keycloak
Identity provider
OpenFeign
Inter-service
Angular OIDC
Client
Approche
Keycloak comme IdP central ; resource servers JWT + converter de rôles + propagation de token Feign
Stack Technique
Java 17Spring Boot 3.2Spring SecurityKeycloakOAuth2/OIDCOpenFeignAngularH2Swagger
Mots-clés
KeycloakOAuth2OIDCJWTSpring SecurityOpenFeignAngularMicroservices
Analyse Approfondie
Une étude ciblée de la sécurité OAuth2 / OpenID Connect pour microservices, avec Keycloak comme fournisseur d'identité d'un domaine e-commerce.
Architecture
┌──────────────┐
│ Keycloak │ realm: sdia-realm (:8080)
│ (OAuth2/OIDC)│
└──────┬───────┘
│ JWT (Bearer)
┌──────────────────┼──────────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────────┐ ┌───────────────┐
│ ecom-app │ │ order-service │ ──► │ inventory- │
│ (Angular) │ │ :8088 (OpenFeign) │ │ service :8087│
└───────────────┘ └───────────────────┘ └───────────────┘
propage le token via FeignInterceptor
Détails de sécurité
- ▸
SecurityConfigenregistre chaque service en resource server (oauth2ResourceServer().jwt()) - ▸
JwtAuthConverterconvertit les rôles realm/client Keycloak en autorités Spring Security - ▸
FeignInterceptorsur order-service transmet le token Bearer à inventory-service - ▸Les deux services utilisent des bases H2 en mémoire ; order-service embarque Swagger UI
Modules : inventory-service (produits, :8087) · order-service (commandes, :8088) · ecom-app-angular (client login OIDC, :4200).