본문으로 건너뛰기

Auth API

Auth API

login(options)

사용자 로그인을 수행하고 인증 코드를 발급합니다.

옵션:

파라미터타입필수설명
timeoutnumber-타임아웃 (ms)
successfunction-성공 콜백
failfunction-실패 콜백
completefunction-완료 콜백

성공 응답:

필드타입설명
codestring사용자 로그인 코드 (서버 인증용)
userIdstring사용자 고유 ID
userInfoPayloadstring검증 가능한 사용자 정보 페이로드 (URL-encoded query string)
userInfoSignaturestringuserInfoPayload에 대한 서명
errMsgstring결과 메시지
TudadaSDK.login({
timeout: 10000,
success: (res) => {
console.log('로그인 코드:', res.code);
console.log('유저 ID:', res.userId);
// code를 서버로 전송하여 세션 생성

// 게임 서버에서 시크릿키로 자체 검증
sendToGameServer({
payload: res.userInfoPayload,
signature: res.userInfoSignature,
});
},
fail: (err) => console.error('로그인 실패:', err.errMsg),
});

사용자 정보 자격증명 (userInfoPayload / userInfoSignature)

게임 서버가 시크릿키만으로 자체 검증 가능한 서명된 사용자 정보입니다. 별도의 서버-to-서버 통신 없이 사용자 신원을 확인할 수 있습니다.

  • userInfoPayload: URL-encoded query string. attribute, authDate, gameUserId, name, profileImageUrl 필드 포함
  • userInfoSignature: userInfoPayload에 대한 서명

서명 검증 후 authDate(unix timestamp ms)를 기준으로 토큰 만료 정책은 게임 서버가 자유롭게 결정합니다.

checkSession(options)

현재 세션의 유효성을 확인합니다.

옵션:

파라미터타입필수설명
successfunction-성공 콜백 (세션 유효)
failfunction-실패 콜백 (세션 만료)
completefunction-완료 콜백
TudadaSDK.checkSession({
success: (res) => console.log('세션 유효'),
fail: () => {
console.log('세션 만료, 재로그인 필요');
TudadaSDK.login({ ... });
},
});

getUserInfo(options)

사용자 프로필 정보를 조회합니다. 사용자 프로필과 함께 게임 서버 검증용 자격증명(userInfoPayload/userInfoSignature)을 반환합니다 (로그인 시점에 발급된 값과 동일).

옵션:

파라미터타입필수설명
lang'KO'-반환 언어
successfunction-성공 콜백
failfunction-실패 콜백
completefunction-완료 콜백

성공 응답:

필드타입설명
userInfo.nickNamestring닉네임
userInfo.avatarUrlstring아바타 이미지 URL
userInfoPayloadstring검증 가능한 사용자 정보 페이로드 (URL-encoded query string)
userInfoSignaturestringuserInfoPayload에 대한 서명
TudadaSDK.getUserInfo({
success: (res) => {
console.log('닉네임:', res.userInfo.nickName);
console.log('아바타:', res.userInfo.avatarUrl);
// 게임 서버 검증
sendToGameServer({
payload: res.userInfoPayload,
signature: res.userInfoSignature,
});
},
});