Nestjs Nest.js:将passport策略添加到所有路由
我试图将passport jwt策略添加到以/api开头的所有路由中 我在文件中找不到这方面的任何例子。我不想在每个端点中添加@UseGuards装饰器Nestjs Nest.js:将passport策略添加到所有路由,nestjs,nestjs-passport,Nestjs,Nestjs Passport,我试图将passport jwt策略添加到以/api开头的所有路由中 我在文件中找不到这方面的任何例子。我不想在每个端点中添加@UseGuards装饰器 谢谢 不可能立即将保护仅绑定到特定路由,但是可以向保护添加一些逻辑,以检查您是否在特定路由中,并运行逻辑或短路。大概是 @Injectable() export class APIGuard implements CanActivate { canActivate(context: ExecutionContext): boolean |
谢谢 不可能立即将保护仅绑定到特定路由,但是可以向保护添加一些逻辑,以检查您是否在特定路由中,并运行逻辑或短路。大概是
@Injectable()
export class APIGuard implements CanActivate {
canActivate(context: ExecutionContext): boolean | Promise<boolean> | Observable<boolean> {
const req = context.switchToHttp().getRequest();
if (!req.url.contains('api')) {
return true;
}
const isValid = this.checkValidity(context);
return isValid;
}
private isvalid(context: ExecutionContext) {
// do your logic. Only brought to a separate method to keep the `canActivate` cleaner
}
}
我想在这个基础上添加APIGuard,在主界面的useGlobalGuards中添加APIGuard.t是的,没错。它将是一个全局保护,但保护逻辑仅在url中带有字符串api的路由上工作