Local Strategy

NestJS 🟡 Mid

Definition

Strategie Passport qui authentifie via email/mot de passe. Valide les credentials contre la base de donnees et retourne l'utilisateur.

Analogie

Comme presenter sa carte d'identite et son mot de passe a un guichet pour prouver son identite.

Exemple de code

@Injectable()
export class LocalStrategy extends PassportStrategy(Strategy) {
  constructor(private authService: AuthService) { super(); }
  async validate(username: string, password: string) {
    const user = await this.authService.validateUser(username, password);
    if (!user) throw new UnauthorizedException();
    return user;
  }
}

Cas d'usage

Implementer le login classique par email et mot de passe avant d'emettre un JWT.

Anti-pattern

Comparer les mots de passe en clair au lieu d'utiliser bcrypt.
#security#interview