멀티 디바이스 세션 (Multi-Device Session)
문서 정보
- 작성일: 2026-03-02
- 최종 업데이트: 2026-03-02
- 버전: v1.0.0
TL;DR
사용자가 여러 기기(웹, 모바일 앱)에서 동시에 로그인할 수 있도록 기기별 독립 세션을 관리하는 시스템입니다. 다른 기기에서 로그인하면 기존 기기에 실시간 알림을 보내며, 향후 멤버십별 동시 접속 기기 수 제한이 추가될 예정입니다.
목차
핵심 개념
한 줄 요약
사용자가 여러 기기에서 동시 로그인할 수 있으며, 다른 기기에서 새로 로그인하면 기존 기기에 실시간 알림을 보냅니다.
주요 용어
| 용어 | 설명 |
|---|---|
| 세션 | 로그인 후 서버가 부여하는 인증 상태. 기기마다 별도 세션 생성 |
| 기기 식별자 (deviceId) | 각 기기를 구분하는 고유 ID. 웹은 자동 생성, 앱은 기기에 저장 |
| 세션 킥 (Kick) | 기기 수 제한 초과 시 기존 세션을 강제 종료하는 동작 |
적용 대상
| 역할 | 세션 검증 | 이유 |
|---|---|---|
| 일반 사용자 | 적용 | 세션 제어 필요 |
| 관리자 | 미적용 | 다중 기기 작업이 필요하므로 제한 없음 |
Phase 구분
| Phase | 상태 | 내용 |
|---|---|---|
| Phase 1 | 현재 | 멀티 디바이스 지원, 기기 수 제한 없음 |
| Phase 2 | 예정 | 멤버십 등급별 동시 접속 기기 수 제한 |
| Phase 3 | 선택 | 사용자가 직접 기기 목록 조회/관리 가능 |
동작 방식
로그인 시 세션 생성
- 같은 사용자가 웹과 앱에서 각각 로그인하면 독립된 세션 2개가 생성됩니다
- 같은 기기에서 다시 로그인하면 기존 세션이 갱신되며, 세션 수가 늘어나지 않습니다
세션 검증 흐름
기기 식별 방식
| 플랫폼 | 기기 식별 방법 | 특징 |
|---|---|---|
| 웹 | 서버가 자동 생성하여 쿠키에 저장 (1년 유지) | 사용자 조작 불가 (보안) |
| 앱 (iOS/Android) | 앱 내부 보안 저장소에 저장 | 앱 재설치 전까지 유지 |
실시간 알림
다른 기기에서 로그인하여 현재 세션이 무효화되면, 실시간으로 알림이 전송됩니다.
알림 예시
"다른 기기(iPhone)에서 로그인되었습니다."
알림 종류
| 알림 | 의미 | 사용자 동작 |
|---|---|---|
| 다른 기기 로그인 | 새 기기에서 로그인하여 현재 세션 무효화 | 다시 로그인 |
| 세션 만료 | 장 시간 미사용으로 세션 만료 (구현 예정) | 다시 로그인 |
장애 대응
| 상황 | 대응 방식 |
|---|---|
| 캐시 서버 장애 | DB에서 직접 세션 확인 (자동 전환) |
| 캐시 + DB 동시 장애 | 세션 검증 생략, 서비스 이용 허용 (가용성 우선) |
| 앱 삭제 후 재설치 | 재로그인 시 새 기기로 인식. 기존 세션은 7일 후 자동 정리 |
에러 코드
정보
아래 에러 코드는 클라이언트(앱/웹)에서 상황별 처리를 위해 사용됩니다.
| 에러 코드 | 의미 | 사용자에게 보이는 동작 |
|---|---|---|
TOKEN_REQUIRED | 인증 정보 없음 | 로그인 페이지로 이동 |
TOKEN_EXPIRED | 인증 만료 | 자동으로 갱신 시도 |
TOKEN_INVALID | 인증 오류 | 로그인 페이지로 이동 |
SESSION_INVALIDATED | 다른 기기에서 로그인됨 | "다른 기기에서 로그인됨" 모달 → 로그인 |
RELOGIN_REQUIRED | 세션 없음 | 로그인 페이지로 이동 |
DEVICE_LIMIT_EXCEEDED | 기기 수 초과 (Phase 2) | 기기 선택 화면 표시 |
FAQ
Q1. 같은 기기에서 다시 로그인하면?
기존 세션이 갱신됩니다. 기기별로 1개의 세션만 유지되므로, 같은 기기에서 재로그인해도 세션 수가 증가하지 않습니다.
Q2. 서버 장애가 나면 로그인이 안 되나요?
아닙니다. 캐시 서버 장애 시 DB로 자동 전환되며, DB까지 장애 시에는 세션 검증을 생략하고 서비스 이용을 허용합니다. 서비스 가용성을 최우선으로 합니다.
Q3. 로그아웃 안 하고 앱을 삭제하면?
서버에 세션이 남아있지만, 재설치 후 로그인하면 새 기기로 인식됩니다. 기존 세션은 7일 후 자동 정리됩니다.
Q4. Phase 2에서 기기 수 제한은 어떻게 결정되나요?
멤버십 등급별로 최대 기기 수가 설정됩니다. 별도 정책이 없으면 제한 없이 사용 가능합니다.
변경 이력
| 버전 | 날짜 | 변경 내용 |
|---|---|---|
| v1.0.0 | 2026-03-02 | 초기 문서 작성 - 멀티 디바이스 세션 시스템 개요 - 세션 검증 플로우, 실시간 알림 |