我正在使用带有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对用户进行身份验证,但是如果这样做,没有令牌的用户将无法访问我的端点,这不是我想要的。