본문으로 건너뛰기

Auth API

Auth API

Login(onSuccess, onFail, timeout)

사용자 로그인을 수행합니다.

파라미터:

파라미터타입필수설명
onSuccessAction<LoginResult>-성공 콜백
onFailAction<string>-실패 콜백
timeoutint-타임아웃 (ms)

성공 응답 (LoginResult):

필드타입설명
codestring로그인 코드 (서버 인증용)
userIdstring사용자 고유 ID
userInfoPayloadstring검증 가능한 사용자 정보 페이로드 (URL-encoded query string)
userInfoSignaturestringuserInfoPayload에 대한 서명
errMsgstring결과 메시지
errCodeint에러 코드
TudadaSDK.Instance.Login(
onSuccess: (result) => {
Debug.Log("로그인 코드: " + result.code);
Debug.Log("유저 ID: " + result.userId);
// result.code를 서버로 전송하여 세션 생성

// 게임 서버에서 시크릿키로 자체 검증
SendToGameServer(result.userInfoPayload, result.userInfoSignature);
},
onFail: (err) => Debug.LogError("로그인 실패: " + err),
timeout: 10000 // 선택: 타임아웃(ms)
);

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

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

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

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

CheckSession(onSuccess, onFail)

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

파라미터:

파라미터타입필수설명
onSuccessAction<CheckSessionResult>-세션 유효 시 콜백
onFailAction<string>-세션 만료 시 콜백
TudadaSDK.Instance.CheckSession(
onSuccess: (result) => Debug.Log("세션 유효"),
onFail: (err) => {
Debug.Log("세션 만료, 재로그인 필요");
TudadaSDK.Instance.Login(...);
}
);

GetUserInfo(onSuccess, onFail)

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

파라미터:

파라미터타입필수설명
onSuccessAction<GetUserInfoResult>-성공 콜백
onFailAction<string>-실패 콜백

성공 응답 (GetUserInfoResult):

필드타입설명
userInfo.nickNamestring닉네임
userInfo.avatarUrlstring아바타 URL
userInfoPayloadstring검증 가능한 사용자 정보 페이로드 (URL-encoded query string)
userInfoSignaturestringuserInfoPayload에 대한 서명
TudadaSDK.Instance.GetUserInfo(
onSuccess: (result) => {
Debug.Log("닉네임: " + result.userInfo.nickName);
Debug.Log("아바타: " + result.userInfo.avatarUrl);
// 게임 서버 검증
SendToGameServer(result.userInfoPayload, result.userInfoSignature);
},
onFail: (err) => Debug.LogError("조회 실패: " + err)
);