게스트 등록 프로세스 가이드
이 문서는 게스트 사용자 등록 전체 프로세스를 설명합니다. 게스트 등록은 정식 회원가입보다 간소화된 절차로, 약관 동의만으로 임시 계정을 발급받아 서비스를 체험할 수 있습니다.
개요
게스트 등록 프로세스는 다음과 같은 주요 단계로 구성됩니다:
- 앱 보안 인증: 모든 API 호출 전에 클라이언트 앱의 유효성을 검증합니다. (앱 인증 가이드)
- 약관 목록 조회: 사용자에게 제시될 약관 목록을 가져옵니다. (약관 동의 API 레퍼런스)
- 게스트 등록: 약관 동의 정보와 디바이스 정보를 포함하여 게스트 계정을 생성합니다. (게스트 등록 API 레퍼런스)
- 게스트 로그인: 등록 완료 후 별도의 로그인 API를 호출하여 토큰을 발급받습니다. (게스트 로그인 API 레퍼런스)
중요: 게스트 등록 프로세스의 모든 단계는 사용자 로그인 전 상태에서 진행되므로, 각 API 호출 시 앱 보안 인증을 통해 발급받은
appToken을Authorization: Bearer {appToken}헤더에 포함하여 요청해야 합니다.
상세 흐름 (Sequence Diagram)
등록과 로그인 분리
게스트 등록 프로세스는 정식 회원가입과 동일한 패턴으로 등록(Register)과 로그인(Login)이 분리되어 있습니다:
| 단계 | API | 응답 |
|---|---|---|
| 등록 | POST /v1/auth/guest/register | { "success": true } |
| 로그인 | POST /v1/auth/guest/login | 토큰, 사용자 정보, 권한 등 |
클라이언트 구현 예시
// 1. 게스트 등록
const registerResponse = await fetch('/v1/auth/guest/register', {
method: 'POST',
headers: { 'Authorization': `Bearer ${appToken}` },
body: JSON.stringify({
agreements: [...],
device: { uuid: 'device-uuid' },
profile: { language: 'ko-KR', timezone: { id: 'Asia/Seoul', offsetInMinutes: 540 } }
})
});
if (registerResponse.ok) {
// 2. 등록 성공 후 로그인
const loginResponse = await fetch('/v1/auth/guest/login', {
method: 'POST',
headers: { 'Authorization': `Bearer ${appToken}` },
body: JSON.stringify({
device: { uuid: 'device-uuid' }
})
});
const { tokens, user, profile, roles, permissions } = await loginResponse.json();
// 토큰 저장 및 세션 시작
}
주요 제약 조건
- 약관 동의: 필수 약관 항목에 모두 동의해야 합니다.
- 디바이스 정보: 디바이스 UUID는 필수이며, 등록과 로그인에 동일한 UUID를 사용해야 합니다.
- 게스트 계정 제한: 게스트 계정은 제한된 신원 수준(Identity Level:
GUEST)으로 일부 기능만 이용 가능합니다.
위 조건 중 하나라도 만족하지 못하면 게스트 등록 요청은 실패합니다.
정식 회원가입과의 차이점
| 항목 | 게스트 등록 | 정식 회원가입 |
|---|---|---|
| Access Code | 불필요 | 필수 |
| 이메일 인증 | 불필요 | 필수 |
| 약관 동의 | 필수 | 필수 |
| 계정 유형 | 임시 게스트 계정 | 정식 사용자 계정 |
| 기능 제한 | 일부 기능 제한 | 모든 기능 이용 가능 |
| Step-up 가능 | 정식 가입으로 업그레이드 가능 | - |
| 등록/로그인 분리 | 동일 (등록 후 별도 로그인) | 동일 (등록 후 별도 로그인) |
게스트 계정 특징
제한 사항
- 게스트 계정은 **제한된 신원 수준(Identity Level:
GUEST)**으로 서비스의 일부 기능만 이용할 수 있습니다. - 일부 개인화 기능이나 데이터 동기화 기능은 정식 가입 후에만 사용할 수 있습니다.
Step-up 인증
- 게스트 계정은 추후 **정식 사용자로 업그레이드(Step-up)**할 수 있습니다.
- Step-up 시 Access Code와 이메일 인증을 통해 정식 계정으로 전환됩니다.