인증 가드
가드 클래스에는 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