Auth Response

보호 라우트 실패 응답 고르기

같은 보호 라우트라도 로그인 없음, 권한 부족, 소유권 불일치, 정상 통과는 다른 응답으로 나눠야 합니다.

no session

로그인이 없음

페이지는 로그인 화면으로 보내고 API는 401을 반환합니다.

no role

역할이 맞지 않음

관리자 화면처럼 역할이 필요한 곳은 403 또는 권한 없음 화면을 냅니다.

owner mismatch

소유자가 다름

리소스 존재를 숨겨야 하면 404, 알려도 되면 403으로 구분합니다.

pass

조건 통과

세션과 권한이 맞으면 서버 데이터 조회와 화면 렌더링을 진행합니다.

응답 기준

보호 실패도 한 가지가 아닙니다

사용자가 해야 할 다음 행동과 노출해도 되는 정보량을 기준으로 redirect, 401, 403, 404를 고릅니다.

상황별 선택

페이지 접근 로그인하지 않은 사용자는 callbackUrl을 붙여 로그인으로 보냅니다. redirect
API 호출 세션이 없으면 JSON 오류와 함께 인증 필요 상태를 반환합니다. 401
관리자 권한 로그인은 했지만 역할이 맞지 않으면 접근 거부를 명시합니다. 403
개인 리소스 다른 사용자의 리소스 존재를 숨겨야 하면 찾을 수 없음으로 처리합니다. 404