NestJs:使用带和不带认证的相同路由

时间:2019-11-08 22:18:35

标签: passport.js nestjs

我正在使用带有Passport的NestJS通过JWT验证我的用户。

这是我的控制器中的一条路线:

@Get(':id')
async findOne(@Param('id') id: string, @Req() req): Promise<any> {
  return this.myService.find(+id, req.user);
}

我希望即使没有身份验证也可以访问此路由(因此req.user是未定义的),但是如果请求JWT,则会从身份验证令牌中填充req.user

我知道我必须添加@UseGuards(AuthGuard())批注以通过JWT对用户进行身份验证,但是如果这样做,没有令牌的用户将无法访问我的端点,这不是我想要的。

0 个答案:

没有答案