@Sherhank

Как можно исключить глобальный Guard из одного роутинга в Nest.JS?

Например есть такое глобальный Guard:

@Injectable()
export class AuthGuard implements CanActivate {
  constructor(private userService: UsersService) {}

  async canActivate(context: ExecutionContext): Promise<boolean> {
    try {
      const request = context.switchToHttp().getRequest();
      const authHeader = request.headers.authorization;

      if (!authHeader) {
        throw new UnauthorizedException();
      }

      const [authType, token] = authHeader.split(" ");

      if (authType !== "Bearer" || !token) {
        throw new UnauthorizedException();
      }

      const user = await this.userService.getUserByAPIToken(token);

      if (user) {
        request.user = user;

        return true;
      }

      return false;
    } catch {
      throw new UnauthorizedException();
    }
  }
}


Но он глобальный, надо сделать так чтобы в пути "/auth/login", он перестал срабатывать, можете подсказать как это реализовать?
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
yarkov
@yarkov
Помог ответ? Отметь решением.
Вы ведь даже не пытались искать ))

Пишем декоратор
И правим свой guard
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы