인증 (Auth)
앱 멤버(최종 사용자) 인증 API입니다.
cb.auth 는 login_id + password 기반 회원가입/로그인을 지원합니다.
💡 이 API는 Connect Base 콘솔 계정이 아닌, 여러분이 만든 앱의 사용자 인증입니다. 콘솔 계정(개발자)과 앱 멤버(End User)의 차이는 인증 모델 다이어그램을 참고하세요.
인증 설정 조회
앱에 어떤 로그인 방식이 활성화되어 있는지 먼저 확인할 수 있습니다.
typescript
const settings = await cb.auth.getAuthSettings()
if (settings.allow_id_password_login) {
// ID/비밀번호 로그인 폼 표시
}
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_id | string | ✓ | 로그인 ID (앱 내 고유) |
password | string | ✓ | 비밀번호 |
nickname | string | ✗ | 표시명 (선택) |
응답 필드는 모두 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 }
})토큰 직접 설정 / 제거
페이지 새로고침 후 토큰을 복원하거나, 외부 인증을 거친 토큰을 적용할 때:
typescript
cb.setTokens(savedAccessToken, savedRefreshToken)
// 로그아웃 외 사유로 토큰을 지울 때
cb.clearTokens()소셜 로그인
자세한 사용법은 OAuth 문서를 참고하세요. SDK OAuthProvider 타입 기준 6종이 지원됩니다:
google, naver, kakao, apple, github, discord. 콘솔의 인증 설정 → 소셜 로그인 에서 사용할 프로바이더만 토글하세요.