我有来自文档示例(https://docs.nestjs.com/techniques/authentication)的JwtStrategy类:
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
constructor(
private readonly authService: AuthService,
private readonly configService: ConfigService,
) {
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: this.configService.getSecretKey,
});
}
// ...
}
当我在调用super()之前尝试访问this
时遇到错误。但是我仍然想使用configService来获取密钥。
我知道我可以使用env var来做到这一点,但是我认为服务方法是更清晰的解决方案。
如何使用configService或从中获取值并传递给super()调用?谢谢。
答案 0 :(得分:0)
只需删除this.
,请参见此处:
secretOrKey: configService.getSecretKey
由于已将configService
作为参数传递,因此它将起作用。