签发还有验证令牌我们可以使用 nest 提供的一个模块,下面给项目安装一下这个包,在终端,项目所在目录的下面,执行 npm install 安装一下 @nestjs/jwt 这个包。
再生成一个模块,nest generate module 名字是 auth-jwt ,放在 auth/modules/jwt 目录的下面,加上一个 --flat 选项。
配置 jwt
回到项目,打开 auth-jwt.module ,在这个模块里添加一个 imports,导入一个模块,添加一个 JwtModule,用一下 registerAsync 配置一下这个模块,提供一个对象,里面先用一个 inject,注入需要用的 ConfigService,再添加一个 useFactory 方法有个 configService 参数,类型是 ConfigService ,返回一个配置对象,设置一下 privateKey 这个选项,值可以用一下 configService.get 获取到 jwt.privateKey 这个配置。
下面再用一个 signOptions ,一个对象,设置一下算法,algorithm 设置成 RS256 。
在模块里再添加一个 exports ,导出 JwtModule 这个模块。