Skip to main content

Authentification et guards

Vue d’ensemble

L’authentification combine JWT côté backend et des guards côté backend et frontend.

Backend

  • JWT configuré globalement dans src/app.module.ts.
  • Secret provenant de JwtConstants.secretJwt.
  • Durée de validité configurée à 4 heures.
  • AuthGuardUser protège les endpoints utilisateur.
  • AuthGuardGame protège les endpoints consommés par le jeu.
  • AuthGuardAdmin et AuthGuardAdminUser protègent les fonctions administratives.

Frontend

Les guards Angular sont dans uniksimFrontEnd/src/app/service/auth/. Les routes sont protégées directement dans app.module.ts.

AuthInterceptorService est enregistré comme HTTP_INTERCEPTORS afin d’appliquer la logique d’authentification aux appels HTTP.

Connexion

LoginController expose notamment signIn, signUp et le login spécial Chenelière. La logique métier correspondante se trouve dans src/service/login.service.ts.