Hug*_*oit 5 javascript node.js typescript passport.js nestjs
我有一条路由,需要经过身份验证和未经身份验证的用户使用。我@UseGuards(AuthGuard('jwt'))用来启用身份验证,但是它阻止了任何未经身份验证的用户访问路由(正常)。
如何允许未经身份验证的用户也访问路由?
似乎没有可以传递给AuthGuard我的护照策略中的选项。
您可以AuthGuard通过扩展现有实例来创建自己的实例:
export class OptionalJwtAuthGuard extends AuthGuard('jwt') {
// Override handleRequest so it never throws an error
handleRequest(err, user, info, context) {
return user;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在您的控制器上使用此代码:
@UseGuards(OptionalJwtAuthGuard)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
263 次 |
| 最近记录: |