본문 바로가기

카테고리 없음

Authentication, Authorization, Unauthorized(401), Forbidden(403)

 

Authentication, Authorization 차이 

 

  • Authentication (인증): 본인이 누구인지 확인하는 과정
    • 예: 로그인 (아이디/비밀번호 입력, OAuth 인증 등)
    • 실패하면 401 Unauthorized
  • Authorization (인가): 인증된 사용자가 특정 리소스에 접근할 권한이 있는지 확인하는 과정
    • 예: 권한 체크 
    • 실패하면 403 Forbidden

 

 

Unauthorized, Forbidden 차이

  • 401 Unauthorized: 인증되지 않음 (로그인 필요)
    • 사용자가 로그인을 안 했거나, 토큰이 유효하지 않을 때 발생
    • 예: 로그인하지 않은 상태에서 API 요청
  • 403 Forbidden: 인가되지 않음 (권한 없음)
    • 사용자가 로그인은 했지만 해당 리소스에 대한 접근 권한이 없을 때 발생
    • 예: 일반 사용자가 관리자 페이지에 접근 시도

✅ 401 Unauthorized → "누구인지 모름 (로그인 필요)"
✅ 403 Forbidden → "누군지는 알지만 권한 없음"

 

 

 

참고 

Authorization인가이기 때문에 401 Unauthorized는 인가되지 않음 (= 권한 없음) 이라고 해야 할 것 같지만 

역사적으로 인가 되지 않은 상태에 대해서는 Forbidden을 부여한다고 한다.