Local Strategy
NestJS 🟡 MidDéfinition
Stratégie Passport qui authentifie via email/mot de passe. Valide les credentials contre la base de données et retourne l'utilisateur.
Analogie
Comme présenter sa carte d'identité et son mot de passe a un guichet pour prouver son identité.
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
Implémenter le login classique par email et mot de passe avant d'émettre un JWT.
Anti-pattern
Termes liés
En entretien
Explique-moi le rôle de la Local Strategy dans l'authentification NestJS.
C'est une stratégie Passport qui authentifie via email et mot de passe, valide les credentials contre la base de données et retourne l'utilisateur, comme présenter sa carte d'identité et son mot de passe à un guichet pour prouver son identité. On l'utilise typiquement pour le login classique avant d'émettre un JWT.
Quelle erreur ne faut-il surtout pas commettre en comparant le mot de passe fourni ?
Ne jamais comparer les mots de passe en clair, c'est l'anti-pattern explicite - il faut utiliser bcrypt pour comparer un hash. La méthode validate lève une UnauthorizedException si l'utilisateur n'est pas trouvé ou invalide.
Fiche mise à jour le 2026-09-27