본문으로 건너뛰기

인증 (Auth)

앱 멤버(최종 사용자) 인증 API입니다. cb.authlogin_id + password 기반 회원가입/로그인과 게스트 멤버 가입을 지원합니다.

💡 이 API는 Connect Base 콘솔 계정이 아닌, 여러분이 만든 앱의 사용자 인증입니다. 콘솔 계정(개발자)과 앱 멤버(End User)의 차이는 인증 모델 다이어그램을 참고하세요.

인증 설정 조회

앱에 어떤 로그인 방식이 활성화되어 있는지 먼저 확인할 수 있습니다.

typescript
const settings = await cb.auth.getAuthSettings()

if (settings.allow_id_password_login) {
  // ID/비밀번호 로그인 폼 표시
}
if (settings.allow_guest_login) {
  // "게스트로 시작" 버튼 표시
}
if (settings.enabled_oauth_providers.includes('GOOGLE')) {
  // Google 로그인 버튼 표시
}

회원가입

typescript
const result = await cb.auth.signUpMember({
  login_id: 'myuser123',
  password: 'password123!',
  nickname: '홍길동'
})

console.log('member_id:', result.member_id)
console.log('access_token:', result.access_token)  // SDK가 자동 저장
console.log('refresh_token:', result.refresh_token)

파라미터

이름타입필수설명
login_idstring로그인 ID (앱 내 고유)
passwordstring비밀번호
nicknamestring표시명 (선택)

응답 필드는 모두 snake_case (member_id, access_token, refresh_token) 입니다. signUpMember / signInMember 호출 직후 SDK가 토큰을 내부 HttpClient에 자동 저장하므로 후속 getMe() 등을 바로 호출할 수 있습니다.

로그인

typescript
const result = await cb.auth.signInMember({
  login_id: 'myuser123',
  password: 'password123!'
})

console.log('로그인 성공:', result.member_id)

로그아웃

typescript
await cb.auth.signOut()

내부적으로 POST /v1/auth/logout 을 호출한 뒤 저장된 토큰을 제거합니다.

내 정보 조회

typescript
const me = await cb.auth.getMe()
console.log(me.member_id, me.nickname, me.custom_data)

custom_data 수정

각 앱 멤버는 custom_data 라는 키-값 저장소를 가집니다. PATCH 방식으로 머지됩니다.

typescript
// 키 추가/수정
await cb.auth.updateCustomData({
  custom_data: { role: 'admin', level: 5 }
})

// 키 삭제 (값을 null로)
await cb.auth.updateCustomData({
  custom_data: { role: null }
})

게스트 멤버 가입

회원가입 폼 없이 익명으로 앱 멤버 토큰을 발급받는 방식입니다. 실시간 채팅 등 JWT 토큰이 필요한 기능을 빠르게 시작할 때 사용합니다.

typescript
const guest = await cb.auth.signInAsGuestMember()
console.log('guest member_id:', guest.member_id)

// 발급된 토큰으로 실시간 연결
await cb.realtime.connect({ accessToken: guest.access_token })

게스트 토큰은 sessionStorage 에 저장되어 다음 방문 시 자동 복원됩니다. 명시적으로 폐기하려면 cb.auth.clearGuestMemberTokens() 를 호출하세요.

토큰 직접 설정 / 제거

페이지 새로고침 후 토큰을 복원하거나, 외부 인증을 거친 토큰을 적용할 때:

typescript
cb.setTokens(savedAccessToken, savedRefreshToken)

// 로그아웃 외 사유로 토큰을 지울 때
cb.clearTokens()

소셜 로그인

자세한 사용법은 OAuth 문서를 참고하세요. 지원 프로바이더는 google, naver, github, discord 입니다.