인프런 커뮤니티 질문&답변

jhreplay.lee님의 프로필 이미지

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

모든 Route 기본 Private로 만들고 IsPublic Annotation 작업하기

[모든 Route 기본 Private로 만들고 IsPublic Annotation 작업하기] IsPublic을 사용하면 RefreshTokenGuard도 무력화되지 않나요?

해결된 질문

23.11.19 15:26 작성

·

302

0

RBAC까지 다뤄주시다니 정말 흥미로운 내용이었습니다!

다만 현재 로직상으로는 RefreshTokenGuard이 적용된 Access 토큰 갱신, Refresh 토큰 갱신 API에 IsPublic을 적용하면 RefreshTokenGuard도 미적용되지 않나요?

실제 저 API들을 Access Token으로 호출해보면 Guard가 아니라 Service 단에서 Exception이 발생하는 것 같더라구요.

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

2023. 11. 20. 09:23

안녕하세요!

결과는 원하는대로 돌아오지만 말씀하신대로 중대한 버그네요.

여러 계층에서 보안에대한 고민을 해야하는 좋은 예시가 되는 것 같습니다.

IsPublic 데코레이터에 입력 값들을 약간 변동주면 될 것 같습니다.

boolean 대신 enum을 사용해서 bearer token 인증 과정을 생략하는 레벨의 public 라우트인지 정하면 가장 좋을 것 같습니다.

감사합니다!