Token Authentication vs. Cookie-Based Auth
Token Authentication vs. Cookie-Based Auth 토큰 인증(Token Authentication) 토큰 인증은 서버가 사용자의 인증 정보를 확인한 후 서명된 토큰을 발급하고, 클라이언트가 이 토큰을 이후의 요청에 포함시켜 자신을 인증하는 방식이다. 가장 널리 사용되는 토큰 형식은 JWT(JSON Web Token)이다. 작동 방식 사용자가 자격 증명(사용자 이름/비밀번호)을 서버에 제출한다. 서버는 자격 증명을 검증하고, 사용자 식별자와 권한 정보를 포함한 토큰을 생성한다. 서버는 비밀 키로 토큰에 서명하여 클라이언트에게 반환한다. 클라이언트는 이 토큰을 저장하고(주로 로컬 스토리지, 세션 스토리지 또는 메모리에 저장), 이후 요청의 Authorization 헤더에 포함시킨다. 서버는 토큰의 서명을 검증하고, 포함된 정보를 기반으로 사용자를 인증한다. 특징 무상태(Stateless): 서버는 클라이언트 상태 정보를 저장하지 않는다. 확장성: 여러 서버 간에 인증 정보를 공유할 필요가 없다. 플랫폼 독립적: 모바일 앱, SPA, API 등 다양한 클라이언트에서 사용 가능하다. 보안: 토큰에 서명을 통해 변조를 방지한다. 만료 시간 설정 가능: 토큰에 만료 시간을 포함할 수 있다. 쿠키 기반 인증(Cookie-Based Authentication) 쿠키 기반 인증은 서버가 사용자 인증 후 세션 ID를 포함한 쿠키를 클라이언트에 전송하고, 클라이언트가 이 쿠키를 모든 요청에 자동으로 포함시켜 인증하는 방식이다. ...