Web Basic · Auth

인증과 권한을 신원 확인과 행동 허가로 분리하기

인증은 사용자가 누구인지 확인하는 단계이고, 권한은 그 사용자가 특정 리소스에 어떤 행동을 할 수 있는지 판단하는 별도 단계다.

01

신원 확인

비밀번호, OAuth, 패스키 등으로 사용자를 확인한다.

02

세션 발급

세션 id나 토큰을 발급하고 만료와 갱신 정책을 둔다.

03

요청 인증

매 요청마다 credential을 검증해 사용자 컨텍스트를 만든다.

04

권한 판정

role뿐 아니라 리소스 소유자와 조직 범위를 확인한다.

Session
서버 저장 쿠키에는 식별자만 두고 서버가 상태 관리
강제 만료 쉬움
JWT
서명 claim 서버 저장 없이 검증 가능
탈취와 만료 관리 중요
RBAC
역할 기반 admin, editor, viewer 같은 역할로 행동을 묶음
예외가 많으면 복잡
Ownership
소유권 내 글만 수정, 내 주문만 조회
role만으로 부족

서버 검증 · 만료 · 민감 작업 점검

서버 검증 UI 표시와 별개로 API에서 권한을 확인한다.
만료 세션과 refresh token 수명이 정해져 있다.
민감 작업 비밀번호 변경과 결제에는 추가 확인이 있다.
감사 권한 변경과 로그인 실패가 추적된다.