본문으로 건너뛰기
버전: 개발 버전 (최신)

게스트 등록 프로세스 가이드

이 문서는 게스트 사용자 등록 전체 프로세스를 설명합니다. 게스트 등록은 정식 회원가입보다 간소화된 절차로, 약관 동의만으로 임시 계정을 발급받아 서비스를 체험할 수 있습니다.

개요

게스트 등록 프로세스는 다음과 같은 주요 단계로 구성됩니다:

  1. 앱 보안 인증: 모든 API 호출 전에 클라이언트 앱의 유효성을 검증합니다. (앱 인증 가이드)
  2. 약관 목록 조회: 사용자에게 제시될 약관 목록을 가져옵니다. (약관 동의 API 레퍼런스)
  3. 게스트 등록: 약관 동의 정보와 디바이스 정보를 포함하여 게스트 계정을 생성합니다. (게스트 등록 API 레퍼런스)
  4. 게스트 로그인: 등록 완료 후 별도의 로그인 API를 호출하여 토큰을 발급받습니다. (게스트 로그인 API 레퍼런스)

중요: 게스트 등록 프로세스의 모든 단계는 사용자 로그인 전 상태에서 진행되므로, 각 API 호출 시 앱 보안 인증을 통해 발급받은 appTokenAuthorization: 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와 이메일 인증을 통해 정식 계정으로 전환됩니다.

관련 API 문서