개발일기/CS(면접)

세션 기반 인증과 토큰 기반 인증의 차이란?

w.llama 2024. 7. 30. 21:54

세션 기반 인증과 토큰 기반 인증의 차이란?

항목 세션 기반 토큰 기반
인증정보 저장 위치 서버에 사용자의 인증 상태를 저장 클라이언트에 인증 정보를 저장
서버 부하 서버가 사용자의 상태를 관리하므로 서버에 부담 클라이언트가 토큰을 저장하고 관리하므로 서버의 부담이 줄어듬
확장성 다수의 서버를 사용할 경우 세션 동기화 작업이 필요 서버간 데이터 공유가 필요 없어 확장성이 높음
보안 서버에서 세션 ID를 삭제하여 안전하게 로그아웃 할 수 있음 토큰 탈취 시 대처가 어려울 수 있음
인증 프로세스 로그인 후 서버에서 세션을 생성하고 세션 ID를 클라이언트에 전달 로그인 후 서버에서 토큰을 생성하고 클라이언트에 전달
멀티 디바이스 여러 기기에서의 로그인 관리가 상대적으로 쉽다 각 기기마다 다른 토큰을 발급하고 관리할 수 있다
사용자 경험 서버에서 세션을 관리하므로 다양한 기능 구현이 용이 토큰의 유효기간 설정에 따라 사용자 경험이 달라짐