Token Authentication vs. Session-based Auth 세션 기반 인증(Session-based Authentication) 세션 기반 인증은 전통적인 인증 방식으로, 서버가 사용자의 로그인 상태를 세션으로 유지하는 방식이다.
작동 원리 인증 과정: 사용자가 자격 증명(사용자 이름/비밀번호)을 제출한다. 서버는 자격 증명을 검증하고, 유효한 경우 고유한 세션 ID를 생성한다. 서버는 세션 ID와 관련 사용자 정보를 서버 측 저장소(메모리, 데이터베이스, 캐시 등)에 저장한다. 서버는 세션 ID를 클라이언트에게 쿠키로 전송한다. 클라이언트는 이후 요청 시 이 쿠키를 자동으로 포함시킨다. 서버는 쿠키의 세션 ID를 확인하여 사용자를 식별한다. 세션 수명 주기: 세션은 사용자가 로그인할 때 생성된다. 세션은 일정 시간이 지나면 만료된다(서버 설정에 따라 다름). 사용자가 로그아웃하면 세션이 명시적으로 파기된다. 서버는 세션의 유효성과 만료를 관리한다. 주요 특징 상태 유지(Stateful): 서버가 세션 정보를 저장하고 관리한다. 쿠키 기반: 주로 HTTP 쿠키를 통해 세션 ID를 전달한다. 서버 측 저장소: 세션 데이터가 서버에 저장된다. 간단한 구현: 대부분의 웹 프레임워크에서 기본적으로 지원한다. 명시적인 세션 관리: 서버가 세션 생성, 검증, 만료, 파기를 제어한다. 토큰 인증(Token Authentication) 토큰 인증은 클라이언트에게 서명된 토큰을 발급하여 인증하는 방식이다. 가장 널리 사용되는 토큰 형식은 JWT(JSON Web Token)이다.
...