Перейти к содержимому
ВозможностиБезопасность

Авторизация и DRM

BlueStudz использует двухэтапную модель аутентификации. Игрок не вводит логин и пароль в игре: авторизация передается из лаунчера через защищенный короткоживущий токен.

Протокол аутентификации и проверки лицензии

  1. 1
    Выдача Launch Token: Лаунчер вызывает POST /auth/game/launch со своей cookie-сессией. Сервер возвращает одноразовый JWT со сроком жизни 5 минут.
  2. 2
    Передача в процесс: Лаунчер запускает игру с параметрами --bs-token=<launchToken> и выставляет переменную окружения BLUESTUDZ_LAUNCH_TOKEN.
  3. 3
    Обмен на Game Token: SDK игры вызывает POST /auth/game/verify. При успехе выдается рабочий gameToken (срок действия 30 минут) и объект пользователя.
  4. 4
    Верификация DRM: SDK выполняет запрос POST /sdk/auth/verify с вашим secretToken для фиксации сессии активности игрока.

Жизненный цикл сессии (30 мин)

Рабочий токен действителен 30 минут. Официальные SDK (Unity, UE5, Godot) автоматически обновляют сессию в фоновом потоке за 5 минут до истечения срока действия.

json
{
  "gameToken": "eyJhbGciOi...",
  "user": {
    "id": "usr_99182",
    "nickname": "PlayerOne",
    "displayName": "Alex",
    "role": "User"
  }
}

Оффлайн-режим и проверка

Если связь с бэкендом отсутствует при старте игры, SDK возвращает статус IsAuthenticated = false. Для одиночных игр рекомендуется разрешать локальную игру, отключая синхронизацию облака и ачивок.

HTTP Статусы:
  • 200 OK — токен валиден, доступ подтвержден.
  • 401 Unauthorized — токен просрочен или отозван.
  • 403 Forbidden — у игрока нет лицензии на данную игру.