Auth API
Auth API
login(options)
执行用户登录并签发认证码。
选项:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
timeout | number | - | 超时时间 (ms) |
success | function | - | 成功回调 |
fail | function | - | 失败回调 |
complete | function | - | 完成回调 |
成功响应:
| 字段 | 类型 | 说明 |
|---|---|---|
code | string | 用户登录码(用于服务器认证) |
userId | string | 用户唯一 ID |
userInfoPayload | string | 可验证的用户信息 payload (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)
游戏服务器仅使用密钥即可自行验证的已签名用户信息。
userInfoPayload: URL-encoded query string。包含attribute,authDate,gameUserId,name,profileImageUrluserInfoSignature: 签名
签名验证完成后,游戏服务器可基于 authDate(unix timestamp ms)自由决定 token 过期策略。
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 | 可验证的用户信息 payload (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,
});
},
});