[weekly] [nb] 세션 기반 인증
세션 기반 인증에 대해 설명해 주세요.
코스트코 비유
뭔가 확 와닿는 비유를 찾다보니 코스트코
가 딱 경우랑 적합했다.
-
코스트코에서 회원 인증하기
- 코스트코에 와서 회원카드를 보여주고 본인 임을 증명.
- 코스트코 직원은 손님의 정보를 확인 (내부적으로는 손님에게 **출입증(세션 ID)**을 발급한 것)
- 출입증은 코스트코 내부에서만 의미가 있음.
손님이 물건 고를 때, 계산할 때 직원은 이 출입증을 보고 판단.
-
출입증은 코스트코 내부에서 관리
- 출입증(세션)은 코스트코(서버)가 보관하고, 손님은 단지 출입증 번호만 들고 다님
(쿠키에 저장됨). - 이 출입증은 외부에서는 무용지물이고, 코스트코 서버가 해당 번호에 대응되는 정보를 유지하고 있어야 함.
- 출입증(세션)은 코스트코(서버)가 보관하고, 손님은 단지 출입증 번호만 들고 다님
세션 기반 인증이 좋은 경우
-
서버가 클라이언트를 직접 관리할 수 있는 구조일 때
-
브라우저 기반 웹 서비스
-
보안 중심 서비스
-
실시간 통신(WebSocket) 어플리케이션