Пользователь
Модуль пользователя предоставляет функции для получения информации о текущем вошедшем игроке
и Token
. Если игра не требует входа для использования всех функций, этот модуль использовать необязательно. В противном случае необходимо вызывать соответствующие интерфейсы этого модуля.
После ознакомления с разделом, связанным с вашим игровым движком на странице JOGOS_SDK Введение
, можно использовать функции следующим образом:
window.JOGOS_SDK.user;
Получение информации о текущем пользователе
Вы можете использовать следующий способ для получения информации о текущем игроке:
try {
const user = await window.JOGOS_SDK.user.getUser();
console.log('Get user result', user);
} catch (err) {
// Обработка ошибок
console.error(err);
}
Если текущий игрок не зарегистрирован или не вошёл в систему, автоматически откроется диалог регистрации/входа, чтобы игрок зарегистрировался или успешно вошёл. В противном случае будет возвращена ошибка 401 Unauthorized, please login again
.
Если аккаунт игрока заблокирован или удалён, также будет возвращена соответствующая ошибка.
Структура объекта игрока при успешном ответе выглядит следующим образом:
// Информация о пользователе
export interface UserInfo {
// Id пользователя
userId: string;
// Имя пользователя
username: string;
// URL аватара
profilePictureUrl: string;
// Id игры
gameId: number;
}
Имя пользователя JOGOS_SDK
должно содержать 6–20 символов и может включать буквы, цифры, точки и подчёркивания.
JOGOS_SDK UserId соответствует одному аккаунту игрока; если ваша игра позволяет создавать несколько персонажей или переключаться между серверами, сервер должен обрабатывать эту логику, чтобы избежать потери персонажей или невозможности переключения.
Получение токена пользователя (с помощью сервера вашей игры)
- Если у вас есть сервер, подключение обязательно!
- Токен пользователя содержит информацию о текущем вошедшем игроке. Вам необходимо отправить его на ваш сервер и проверить/декодировать, чтобы извлечь данные и связать с системой пользователей на вашем сервере, при этом обеспечивая безопасность пользовательских данных.
Ваш клиент может использовать следующий способ для получения токена:
try {
const token = await window.JOGOS_SDK.user.getUserToken();
console.log('Get token result', token);
} catch (err) {
// Обработка ошибок
console.error(err);
}
Срок действия токена — 1 час. Рекомендуется не хранить Token и всегда запрашивать его при необходимости.
Если текущий игрок не зарегистрирован или не вошёл, автоматически откроется диалог регистрации/входа, чтобы игрок зарегистрировался или вошёл. В противном случае будет ошибка 401 Unauthorized, please login again
.
Если аккаунт игрока заблокирован или удалён, будет возвращена соответствующая ошибка.
Возвращённый токен можно декодировать и протестировать на jwt.io
Пример JSON данных возвращаемого токена:
{
"jti": "1899405772252258304",
"sub": "{\"profilePictureUrl\":\"a33bf366e34d48e984a094fc923d7b06.png\",\"gameId\":\"1\",\"profileDefaultAvatar\":\"default-avatar.png\",\"userId\":\"88E1B72FED537C6943C85C28F639BE0B\",\"username\":\"55895999999999999999\"}",
"iss": "com:jogos:sdk",
"iat": 1741688600,
"exp": 1745288600
}
Если вы используете сервер для проверки аутентификации запросов, отправьте токен на сервер, затем декодируйте и проверьте его. Вы можете использовать публичный ключ токена пользователя https://www.jogos.com/publicKey.json
для проверки токена. Рекомендуется получать ключ при каждой проверке, так как он может меняться.
Следующий шаг: проверка через сервер
Для API, связанных с сервером, см. страницу: Серверные API
Локальное тестирование
При локальном тестировании интерфейсы модуля пользователя возвращают только имитационные данные.