가드 클래스에는 canActivate라는 메서드가 있어야 함. 이 메서드는 자동으로 호출되는데, 반환값에 따라서, 라우터 이동이 거부된다.
canActivate
// src/guards/auth.guard.ts import { CanActivate, ExecutionContext } from '@nestjs/common' export class AuthGuard implements CanActivate { canActivate(context : ExecutionContext) { const request = context.switchToHttp().getRequest() return request.session.userId; } }
import { ..., UseGuard } from '@nestjs/common'; import { AuthGuard } from 'src/guards/auth.guard'; @Get('/whoami') @UseGuards(AuthGuard) // 전역 가드 설정 whoAmI(@CurrentUser() user : User) { return user }
Last updated 7 months ago