Auth API
Auth API
login(options)
사용자 로그인을 수행하고 인증 코드를 발급합니다.
옵션:
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
timeout | number | - | 타임아웃 (ms) |
success | function | - | 성공 콜백 |
fail | function | - | 실패 콜백 |
complete | function | - | 완료 콜백 |
성공 응답:
| 필드 | 타입 | 설명 |
|---|---|---|
code | string | 사용자 로그인 코드 (서버 인증용) |
userId | string | 사용자 고유 ID |
userInfoPayload | string | 검증 가능한 사용자 정보 페이로드 (URL-encoded query string) |
userInfoSignature | string | userInfoPayload에 대한 서명 |
errMsg | string | 결과 메시지 |
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)
현재 세션의 유효성을 확인합니다.
옵션:
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
success | function | - | 성공 콜백 (세션 유효) |
fail | function | - | 실패 콜백 (세션 만료) |
complete | function | - | 완료 콜백 |
TudadaSDK.checkSession({
success: (res) => console.log('세션 유효'),
fail: () => {
console.log('세션 만료, 재로그인 필요');
TudadaSDK.login({ ... });
},
});
getUserInfo(options)
사용자 프로필 정보를 조회합니다. 사용자 프로필과 함께 게임 서버 검증용 자격증명(userInfoPayload/userInfoSignature)을 반환합니다 (로그인 시점에 발급된 값과 동일).
옵션:
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
lang | 'KO' | - | 반환 언어 |
success | function | - | 성공 콜백 |
fail | function | - | 실패 콜백 |
complete | function | - | 완료 콜백 |
성공 응답:
| 필드 | 타입 | 설명 |
|---|---|---|
userInfo.nickName | string | 닉네임 |
userInfo.avatarUrl | string | 아바타 이미지 URL |
userInfoPayload | string | 검증 가능한 사용자 정보 페이로드 (URL-encoded query string) |
userInfoSignature | string | userInfoPayload에 대한 서명 |
TudadaSDK.getUserInfo({
success: (res) => {
console.log('닉네임:', res.userInfo.nickName);
console.log('아바타:', res.userInfo.avatarUrl);
// 게임 서버 검증
sendToGameServer({
payload: res.userInfoPayload,
signature: res.userInfoSignature,
});
},
});