🛢️Parcours Fioul GroupéSpring Boot · Chapitre 19
Accueil › Spring Boot › Chapitre 19
Chapitre 19 / 19 · dernier · 🛡️

Projet — authentification avancée

On pousse la sécurité plus loin : jetons de rafraîchissement, OAuth2, et délégation à un fournisseur d'identité comme Keycloak. Dernier chapitre du parcours Spring.

1 Notion

Access token & refresh token

Pour concilier sécurité et confort : un access token à durée très courte (quelques minutes) et un refresh token à durée plus longue, qui permet d'obtenir un nouvel access token sans se reconnecter.

POST /api/auth/refresh  { refreshToken }  → { accessToken, refreshToken }
2 Notion

OAuth2 & OpenID Connect

OAuth2 standardise la délégation d'autorisation (« se connecter avec Google/France Connect »). OpenID Connect ajoute l'authentification. Spring Security fournit un client et un serveur de ressources OAuth2.

Idée — plutôt que de gérer soi-même les mots de passe, on peut déléguer l'authentification à un fournisseur d'identité de confiance.
3 Notion

Déléguer à Keycloak

Keycloak est un serveur d'identité open source : il gère utilisateurs, rôles, connexion, tokens. L'API devient un simple serveur de ressources qui vérifie les JWT émis par Keycloak.

spring.security.oauth2.resourceserver.jwt.issuer-uri=\
  https://keycloak.exemple.fr/realms/fioul
✓ Bilan

Bilan du parcours Spring Boot

🛢️ Sur le projet Fioul Groupé

Ajoute au minimum le rafraîchissement de jeton (access court + refresh). L'OAuth2/Keycloak est une ouverture avancée, idéale pour un approfondissement ou un projet de groupe motivé — et un excellent pont avec le cours Cyber.

🎉 Parcours Spring Boot terminé

Des bases jusqu'au déploiement sécurisé et supervisé, tu as construit une API REST complète sur MongoDB. Étape suivante : consommer cette API depuis le mobile avec le parcours Flutter, ou revoir la pratique guidée dans le guide pas à pas.

À retenir
  • Access token court + refresh token pour l'ergonomie et la sécurité.
  • OAuth2/OIDC pour déléguer l'authentification.
  • Keycloak : l'API devient serveur de ressources vérifiant les JWT.
← Chapitre 18