토큰 인증 방식
동작 원리
- 사용자가 로그인하면 서버는 JWT와 같은 토큰을 생성하여 클라이언트에 전달
- 클라이언트는 이후의 모든 요청에 이 토큰을 HTTP 헤더에 포함시켜 서버로 전송
- 서버는 토큰을 검증하여 사용자 정보를 확인하고 인증 여부 판단
장점
- 서버는 무상태(stateless) 방식으로 작동 → 수평 확장 용이
- 클라이언트 측에서 인증 정보 유지 → 서버 부담 줄어듦
- API 서버 간의 인증을 쉽게 처리 가능 → MSA(마이크로서비스 아키텍처)에 적합
단점
- 토큰이 클라이언트 측에 저장 → 토큰 유출 시 보안 문제 발생
- 토큰 무효화가 어려움 → 토큰 만료 전 로그아웃 처리 복잡
- 토큰의 크기가 커질 수 있음 → 네트워크 트래픽 부담 우려
세션 인증 방식
동작 원리
- 사용자가 로그인하면 서버는 사용자 정보를 세션 저장소에 저장하고, 세션 ID를 생성하여 클라이언트에 쿠키로 전송
- 클라이언트는 이후의 모든 요청에 세션 ID를 포함한 쿠키를 서버로 전송
- 서버는 세션 ID를 기반으로 세션 저장소에서 사용자 정보를 조회하여 인증 여부를 판단
장점
- 서버가 세션을 관리 → 세션 만료나 로그아웃 시 즉시 세션 종료 가능