NestJS JwtStrategy使用configService传递密钥

时间:2018-06-21 20:48:00

标签: typescript nestjs passport-jwt

我有来自文档示例(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()调用?谢谢。

1 个答案:

答案 0 :(得分:0)

只需删除this.,请参见此处:

secretOrKey: configService.getSecretKey

由于已将configService作为参数传递,因此它将起作用。