Auth API
Auth API
Login(onSuccess, onFail, timeout)
사용자 로그인을 수행합니다.
파라미터:
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
onSuccess | Action<LoginResult> | - | 성공 콜백 |
onFail | Action<string> | - | 실패 콜백 |
timeout | int | - | 타임아웃 (ms) |
성공 응답 (LoginResult):
| 필드 | 타입 | 설명 |
|---|---|---|
code | string | 로그인 코드 (서버 인증용) |
userId | string | 사용자 고유 ID |
userInfoPayload | string | 검증 가능한 사용자 정보 페이로드 (URL-encoded query string) |
userInfoSignature | string | userInfoPayload에 대한 서명 |
errMsg | string | 결과 메시지 |
errCode | int | 에러 코드 |
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)
세션 유효성을 확인합니다.
파라미터:
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
onSuccess | Action<CheckSessionResult> | - | 세션 유효 시 콜백 |
onFail | Action<string> | - | 세션 만료 시 콜백 |
TudadaSDK.Instance.CheckSession(
onSuccess: (result) => Debug.Log("세션 유효"),
onFail: (err) => {
Debug.Log("세션 만료, 재로그인 필요");
TudadaSDK.Instance.Login(...);
}
);
GetUserInfo(onSuccess, onFail)
사용자 프로필 정보를 조회합니다. 사용자 프로필과 함께 게임 서버 검증용 자격증명(userInfoPayload/userInfoSignature)을 반환합니다 (로그인 시점에 발급된 값과 동일).
파라미터:
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
onSuccess | Action<GetUserInfoResult> | - | 성공 콜백 |
onFail | Action<string> | - | 실패 콜백 |
성공 응답 (GetUserInfoResult):
| 필드 | 타입 | 설명 |
|---|---|---|
userInfo.nickName | string | 닉네임 |
userInfo.avatarUrl | string | 아바타 URL |
userInfoPayload | string | 검증 가능한 사용자 정보 페이로드 (URL-encoded query string) |
userInfoSignature | string | userInfoPayload에 대한 서명 |
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)
);