Like this, but this doesn't seem to work:
import { CanActivate, ExecutionContext, Injectable, SetMetadata } from '@nestjs/common';
import { Reflector } from '@nestjs/core';
import { IAuthGuard, Type } from '@nestjs/passport';
import { NO_AUTH_KEY } from '../access/access.decorator';
import { JwtAuthGuard } from '../jwt/jwt.guard';
import { SSOGuard } from '../sso/sso.guard';
@Injectable()
export class AnyGuard implements CanActivate {
private guards: Type<IAuthGuard>[] = [JwtAuthGuard, SSOGuard];
constructor(private reflector: Reflector) {}
async canActivate(context: ExecutionContext): Promise<boolean> {
console.log(this.reflector?.get(NO_AUTH_KEY, context.getHandler())); // true
SetMetadata(NO_AUTH_KEY, false);
console.log(this.reflector?.get(NO_AUTH_KEY, context.getHandler())); // false
return true;
}
}