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

Projet — la sécurisation

On sécurise concrètement l'API Fioul Groupé : inscription/connexion, émission de JWT, rôles coordinateur/particulier, et durcissement.

1 Étape

La collection utilisateurs

Un Utilisateur a un email, un mot de passe haché (jamais en clair !) et des rôles.

@Document("utilisateurs")
public class Utilisateur {
  @Id String id;
  @Indexed(unique=true) String email;
  String motDePasseHash;
  List<String> roles;   // [PARTICULIER] ou [COORDINATEUR]
}
Hachage — on stocke passwordEncoder.encode(motDePasse) (BCrypt). On ne peut jamais retrouver le mot de passe d'origine.
2 Étape

Inscription & connexion

Deux endpoints publics : register crée l'utilisateur (mot de passe haché) ; login vérifie les identifiants et renvoie un JWT.

POST /api/auth/register  { email, motDePasse, role }
POST /api/auth/login     { email, motDePasse }  → { token }
3 Étape

Protéger les endpoints

On applique les règles du chapitre 12 au projet :

4 Notion

Durcir (lien Cyber)

🛢️ Sur le projet Fioul Groupé

Implémente register/login, protège les endpoints par rôle, teste avec Swagger (bouton « Authorize » pour coller le JWT). Rédige une courte analyse de risques à joindre au dossier — passerelle directe avec ton cours de cybersécurité.

À retenir
  • Mots de passe hachés (BCrypt) ; email unique.
  • login émet un JWT ; endpoints protégés par rôle.
  • Durcissement : expiration, secret en env, validation, HTTPS.
← Chapitre 12