TS · NEST AUTHZ

JWT 이후 RolesGuard 인가 흐름

역할 기반 인가는 JWT로 신원을 확인한 뒤, 라우트에 붙은 Roles 메타데이터와 req.user의 role을 비교해 접근을 결정합니다.

Guard 처리 순서

roles
@Roles핸들러에 필요한 역할 메타데이터를 붙입니다.
JwtAuthGuard토큰을 검증하고 req.user를 채웁니다.
Reflector핸들러와 클래스의 roles 메타데이터를 읽습니다.
RolesGuardreq.user.role이 허용 목록에 있는지 비교합니다.
allow/deny통과하면 핸들러 실행, 아니면 403을 반환합니다.
메타데이터JWTroles 읽기비교응답

검토 기준

guard
순서 보장인증 guard가 먼저 실행되도록 데코레이터 구성을 맞춥니다.
기본 정책@Roles가 없을 때 허용할지 차단할지 정합니다.
다중 역할admin, manager처럼 배열 비교를 지원합니다.
감사 로그거부된 접근은 운영 추적을 위해 남기는 것이 좋습니다.