Skip to main content

Auth API

Auth API

login(options)

Performs user login and issues an authentication code.

Options:

ParameterTypeRequiredDescription
timeoutnumber-Timeout (ms)
successfunction-Success callback
failfunction-Failure callback
completefunction-Completion callback

Success Response:

FieldTypeDescription
codestringUser login code (for server authentication)
userIdstringUser unique ID
userInfoPayloadstringVerifiable user info payload (URL-encoded query string)
userInfoSignaturestringSignature for userInfoPayload
errMsgstringResult message
TudadaSDK.login({
timeout: 10000,
success: (res) => {
console.log('Login code:', res.code);
console.log('User ID:', res.userId);
// Send code to server to create session

// Verify on game server using shared secret
sendToGameServer({
payload: res.userInfoPayload,
signature: res.userInfoSignature,
});
},
fail: (err) => console.error('Login failed:', err.errMsg),
});

User Info Credential (userInfoPayload / userInfoSignature)

Signed user info that the game server can verify on its own using only a shared secret key — no server-to-server call required.

  • userInfoPayload: URL-encoded query string containing attribute, authDate, gameUserId, name, profileImageUrl
  • userInfoSignature: Signature over userInfoPayload

After signature verification, the game server may apply its own expiry policy based on authDate (unix timestamp ms).

checkSession(options)

Checks the validity of the current session.

Options:

ParameterTypeRequiredDescription
successfunction-Success callback (session is valid)
failfunction-Failure callback (session expired)
completefunction-Completion callback
TudadaSDK.checkSession({
success: (res) => console.log('Session valid'),
fail: () => {
console.log('Session expired, re-login required');
TudadaSDK.login({ ... });
},
});

getUserInfo(options)

Retrieves user profile information. Returns the user profile alongside the user info credential (userInfoPayload/userInfoSignature) for game server verification — same value as the credential issued at login.

Options:

ParameterTypeRequiredDescription
lang'KO'-Response language
successfunction-Success callback
failfunction-Failure callback
completefunction-Completion callback

Success Response:

FieldTypeDescription
userInfo.nickNamestringNickname
userInfo.avatarUrlstringAvatar image URL
userInfoPayloadstringVerifiable user info payload (URL-encoded query string)
userInfoSignaturestringSignature for userInfoPayload
TudadaSDK.getUserInfo({
success: (res) => {
console.log('Nickname:', res.userInfo.nickName);
console.log('Avatar:', res.userInfo.avatarUrl);
// Verify on game server
sendToGameServer({
payload: res.userInfoPayload,
signature: res.userInfoSignature,
});
},
});