JWT Strategy

NestJS 🟡 Mid

Définition

Stratégie Passport qui valide les tokens JWT extraits du header Authorization. Décodé le payload et l'attache a request.user.

Analogie

Comme un scanner de badge électronique : il lit le badge (token), vérifié sa validité et identifie la personne.

Exemple de code

@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
  constructor(config: ConfigService) {
    super({ jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
      secretOrKey: config.get('JWT_SECRET') });
  }
  validate(payload: any) { return { id: payload.sub, email: payload.email }; }
}

Cas d'usage

Protéger les endpoints API avec authentification stateless par token JWT.

Anti-pattern

Stocker des données sensibles (mot de passe, carte) dans le payload JWT.
#security#interview

En entretien

  1. Explique-moi ce que fait une JWT Strategy dans NestJS.

    C'est une stratégie Passport qui valide les tokens JWT extraits du header Authorization, décode le payload et l'attache à request.user, comme un scanner de badge électronique qui lit le badge, vérifie sa validité et identifie la personne. Elle sert à protéger les endpoints API avec une authentification stateless.

  2. Quel est le piège classique à éviter dans le payload d'un JWT ?

    Ne jamais stocker des données sensibles comme un mot de passe ou un numéro de carte dans le payload JWT, c'est l'anti-pattern identifié - le payload est décodable, pas chiffré. On y met des infos non sensibles comme l'id et l'email, comme dans validate(payload).

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre