인증 (Auth)
앱 멤버(최종 사용자) 인증 API입니다.
cb.auth 는 login_id + password 기반 회원가입/로그인과 게스트 멤버 가입을 지원합니다.
💡 이 API는 Connect Base 콘솔 계정이 아닌, 여러분이 만든 앱의 사용자 인증입니다. 콘솔 계정(개발자)과 앱 멤버(End User)의 차이는 인증 모델 다이어그램을 참고하세요.
인증 설정 조회
앱에 어떤 로그인 방식이 활성화되어 있는지 먼저 확인할 수 있습니다.
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 로그인 버튼 표시
}회원가입
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_id | string | ✓ | 로그인 ID (앱 내 고유) |
password | string | ✓ | 비밀번호 |
nickname | string | ✗ | 표시명 (선택) |
응답 필드는 모두 snake_case (
member_id,access_token,refresh_token) 입니다.signUpMember/signInMember호출 직후 SDK가 토큰을 내부 HttpClient에 자동 저장하므로 후속getMe()등을 바로 호출할 수 있습니다.
로그인
const result = await cb.auth.signInMember({
login_id: 'myuser123',
password: 'password123!'
})
console.log('로그인 성공:', result.member_id)로그아웃
await cb.auth.signOut()내부적으로 POST /v1/auth/logout 을 호출한 뒤 저장된 토큰을 제거합니다.
내 정보 조회
const me = await cb.auth.getMe()
console.log(me.member_id, me.nickname, me.custom_data)custom_data 수정
각 앱 멤버는 custom_data 라는 키-값 저장소를 가집니다. PATCH 방식으로 머지됩니다.
// 키 추가/수정
await cb.auth.updateCustomData({
custom_data: { role: 'admin', level: 5 }
})
// 키 삭제 (값을 null로)
await cb.auth.updateCustomData({
custom_data: { role: null }
})게스트 멤버 가입
회원가입 폼 없이 익명으로 앱 멤버 토큰을 발급받는 방식입니다. 실시간 채팅 등 JWT 토큰이 필요한 기능을 빠르게 시작할 때 사용합니다.
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()를 호출하세요.
토큰 직접 설정 / 제거
페이지 새로고침 후 토큰을 복원하거나, 외부 인증을 거친 토큰을 적용할 때:
cb.setTokens(savedAccessToken, savedRefreshToken)
// 로그아웃 외 사유로 토큰을 지울 때
cb.clearTokens()소셜 로그인
자세한 사용법은 OAuth 문서를 참고하세요. 지원 프로바이더는
google, naver, github, discord 입니다.