Passport

NestJS 🟡 Mid

Définition

Librairie d'authentification intégrée via @nestjs/passport. Fournit un système de stratégies (JWT, Local, OAuth2) avec des guards dedies.

Analogie

Comme un système de vérification d'identité multi-documents : passeport, carte d'identité ou badge selon le contexte.

Exemple de code

@Injectable()
export class JwtAuthGuard extends AuthGuard('jwt') {}

@Controller('profile')
export class ProfileController {
  @UseGuards(JwtAuthGuard)
  @Get()
  getProfile(@Request() req) { return req.user; }
}

Cas d'usage

Implémenter l'authentification avec support multi-stratégies dans une API NestJS.

Anti-pattern

Reimplementer la logique d'authentification from scratch au lieu d'utiliser Passport.
#security#interview

En entretien

  1. C'est quoi Passport dans l'écosystème NestJS et pourquoi l'utiliser ?

    C'est la librairie d'authentification intégrée via @nestjs/passport, qui fournit un système de stratégies - JWT, Local, OAuth2 - avec des guards dédiés, comme un système de vérification d'identité multi-documents où on utilise passeport, carte d'identité ou badge selon le contexte. Elle permet d'implémenter l'authentification multi-stratégies dans une API NestJS.

  2. Pourquoi ne pas coder son propre système d'authentification à la main ?

    Parce que c'est l'anti-pattern à éviter : réimplémenter la logique d'authentification from scratch au lieu d'utiliser Passport, qui fournit déjà les guards prêts à l'emploi comme AuthGuard('jwt'). Ça évite de réinventer une brique sensible en sécurité.

Fiche mise à jour le 2026-09-27

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