https://blog.csdn.net/u014378628/article/details/134776666
你好,在这篇文章中,如果添加secret后,您程序的token失效验证还有效吗?
我有添加了一个配置项
如图:

我不清楚如果要这么写的话,那么JwtModule.register方法是做了什么处理?
https://blog.csdn.net/u014378628/article/details/134776666
你好,在这篇文章中,如果添加secret后,您程序的token失效验证还有效吗?
我有添加了一个配置项
如图:

我不清楚如果要这么写的话,那么JwtModule.register方法是做了什么处理?
小米的前端记录 晚上好🌙🌙🌙
本答案参考ChatGPT-3.5
在这篇文章中,添加了一个配置项JwtModule.register,该方法是用于在NestJS应用中集成jsonwebtoken插件并进行相应的配置。
解决方案:
JwtModule.register方法的作用是配置jsonwebtoken插件的参数,包括secret和expiresIn。其中,secret是你自定义的秘钥,用于生成和验证token的签名,expiresIn是token的过期时间。
如果你在调用this.jwtService.sign生成token时,指定了secret和expiresIn,那么JwtModule中的配置项就不再起作用。因此,你可以将JwtModule.register注释掉或删除,直接在代码中指定秘钥和过期时间。
修改后的代码示例:
import { Injectable } from '@nestjs/common';
import { JwtService } from '@nestjs/jwt';
import { jwtConstants } from './constants';
@Injectable()
export class AuthService {
constructor(private readonly jwtService: JwtService) {}
async login(user: any) {
const payload = { username: user.username, sub: user.userId };
const token = this.jwtService.sign(payload, {
secret: jwtConstants.secret,
expiresIn: jwtConstants.expiresIn,
});
return { token };
}
}
通过以上修改,你可以在生成token时指定自定义的秘钥和过期时间,而JwtModule中的配置项将不再起作用。当然,你也可以根据自己的需求保留JwtModule.register的配置项,同时在调用this.jwtService.sign生成token时传入相应的参数。