Estou aprendendo a criar um sistema de autenticação com NestJS usando JWT. Meu sistema possui um CRUD para gerenciamento de usuários mas ele só pode ser utilizado por pessoas autenticadas, então coloquei essa guarda:
@Controller('users')
@UseGuards(AuthGuard('jwt'))
export class UsersController {
\\ implementation
}
Estou tentando criar a estratégia JWT:
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
constructor(private readonly config: ConfigService) {
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
ignoreExpiration: false,
secretOrKey: this.config.get<string>('JWT_SECRET_PASS'),
});
}
}
Mas enfrentando o erro:
'super' must be called before accessing 'this' in the constructor of a derived class.
Preciso acessar o ConfigService para poder definir meu segredo que está em um ambiente. Como eu posso fazer isso?
config
é passado como um parâmetro para o construtor, então você pode remover othis
inthis.config
e ainda acessarconfig
perfeitamente