Guard

NestJS 🟡 Mid

Definition

Classe @Injectable implementant CanActivate qui decide si une requete peut continuer. Ideal pour l'authentification et l'autorisation.

Analogie

Comme un videur de boite de nuit : il verifie si tu as le droit d'entrer avant de te laisser passer.

Exemple de code

@Injectable()
export class AuthGuard implements CanActivate {
  canActivate(context: ExecutionContext): boolean {
    const request = context.switchToHttp().getRequest();
    return !!request.headers.authorization;
  }
}

Cas d'usage

Proteger des routes avec authentification JWT, verifier les roles RBAC ou valider des permissions.

Anti-pattern

Verifier l'authentification dans chaque controller au lieu d'utiliser un guard reutilisable.
#core#security#interview