[weekly] [nb] 토큰 기반 인증
토큰 기반 인증에 대해 설명해 주세요.
콘서트 출입 팔찌 비유
- 입장 시 확인
- 콘서트장 입구에서 티켓 보여주고 본인 인증.
- 직원이 확인하고 나면, 손목에 **출입 팔찌(토큰)**를 제공.
- 입장 후 자유롭게 돌아다님
- 이후에는 팔찌만 보여주면 다시 인증 안 해도 모든 구역을 자유롭게 다닐 수 있음.
- 팔찌 자체에 “VIP”라든가 “입장 시간”, “특정 구역 접근 가능” 같은 정보가
**미리 인쇄(=암호화)**돼 있어서, 어디서든 팔찌만 보면 바로 판별이 가능.
- 보안 처리
- 팔찌는 위조 방지 처리(=서명된 토큰)되어 있어서, 가짜 팔찌로 들어가긴 어려움.
- 다만, 팔찌를 분실하거나 남에게 주면 위험함. 토큰 탈취에 해당하는 상황.
- 콘서트장은 팔찌 리스트를 따로 안 들고 있음
- 즉, 누구에게 어떤 팔찌를 줬는지 따로 저장하지 않음.
그냥 팔찌만 보고 “유효한지” 확인하는 방식.
토큰 기반 인증이 좋은 경우
- 모바일 앱, 싱글 페이지 어플리케이션
- 서버 간 분산 구조/마이크로서비스 아키텍쳐
- Stateless 구조
- 확장성 중시(서버가 사용자 상태를 저장할 필요가 없음)
- OAuth, 소셜 로그인, 외부 API 연동