session 2

동일 계정의 타 환경 중복 로그인 제한하기(Jwt + Redis 그리고 다중 탭 고려)

동일한 계정으로 중복으로 로그인하는 상황을 제어해야 하는 요구사항이 있어 적용해봤다.일반적인 로그인 성공/실패 처리가 아니라, 이미 로그인된 계정이 다른 환경에서 다시 로그인할 경우 기존 로그인 상태를 어떻게 처리할 것인지를 결정해야 했다.동시 로그인 제어 기능을 붙이면서 마주한 JWT의 한계핵심은 단순 인증이 아니라 "현재 이 계정이 로그인 중인가?"를 서버가 판단할 수 있어야 했다.JWT 기반 인증은 일반적으로 AccessToken으로 매 API요청을 인증하고, 토큰의 서명과 만료 시간을 검증하는 구조이다. 그니까 원래 토큰 인증이라고 하면 Stateless라고 해서 "서버가 세션 상태를 안 들고도 인증을 할 수 있다"는 것이 장점이자 전제인 인증 방법인 것이다. 근데 동시 로그인을 금지해야 한다면,..

Backend 2026.01.02

세션, 토큰, 쿠키, 캐시 비교 정리

세션(Session), 토큰(Token), 쿠키(Cookie), 캐시(Cache)에 대해 비교 정리해보겠습니다. 세션(Session)과 토큰(Token) 정리위 두 용어는 인증정보가 저장되는 위치에 따라 구분되는 용어이다.다시 말해, 인증 상태를 어디에 저장하느냐를 기준으로 '세션' 또는 '토큰' 기반의 인증 방식으로 나뉜다. 1. 세션(Session)인증 정보를 서버에 저장하는 방식이다. 로그인 등의 경우 서버는 세션이 없으면 자동으로 세션을 새로 생성하는데, 이와 함께 고유한 키 역할을 하는 Session ID도 생성한다. 그리고 Set-Cookie 헤더를 통해 JSESSIONID를 클라이언트에게 응답하게 된다.Set-Cookie: JSESSIONID=Session ID값※ Set-Cookie : 브..

Backend 2025.06.25
반응형