JWT - 역할 기반 관리하기
·
NestJS/개발
역할 기반 관리란?이전까지는 JWT 토큰만 있으면 누구나 특정 API에 접근할 수 있었다. 하지만 실제 서비스에서 가장 중요한 부분은 사용자의 역할(Role)에 따라 접근 가능한 영역이 다르다는 점이다. 예를 들어 /member/post는 일반 사용자와 관리자가 글을 작성할 수 있는 영역이지만, /admin/post는 관리자만 접근할 수 있는 영역이다. 만약 일반 사용자가 관리자 영역에 접근할 수 있다면 보안상 큰 문제가 발생한다. 이러한 역할 기반 접근 제어를 위해서는 Guard에서 JWT 인증뿐만 아니라 역할 체크까지 함께 수행해야 한다. 즉, 토큰의 유효성을 확인하고, payload에 포함된 역할 정보를 기반으로 요청자가 해당 API를 수행할 권한이 있는지 판단하는 것이 중요하다. 오늘 이부분에 관..