Launcher / Аутентификация пользователей в игре
  На главную

Launcher

Аутентификация пользователей в игре

Как это работает

Данные пользователей, прошедших аутентификацию в настольном приложении, передаются игре в параметре –xsolla-login-token в формате JWT. Вы можете использовать параметр для настройки автоматической аутентификации пользователей в игре.

Основные поля JWT

Авторизационный токен будет содержать основные поля после аутентификации или подтверждения адреса электронной почты. Наличие этих полей не зависит от базы данных пользователя и типа аутентификации.

Поле                                                  ТипОбязательное полеОписание
expUnix TimestampДаДата и время истечения токена. Время истечения по умолчанию составляет 24 часа. Вы можете изменить время истечения для каждого варианта авторизации.
issstringДаСервис, который подписал токен: https://login.xsolla.com.
iatUnix TimestampДаДата и время выдачи токена.
substring (UUID)ДаID пользователя, записанный на стороне сервера Xsolla Login.
groupsarrayДаСписок групп, в которых состоит пользователь. Каждая группа дана в следующем формате:
  • id — ID группы;
  • name — название группы;
  • is_default — является ли группой по умолчанию (true или false).
Может быть только одна группа по умолчанию. В эту группу изначально входят все пользователи, прежде чем они будут распределены по разным группам.
xsolla_login_project_idstring (UUID)ДаID проекта Авторизации.
usernamestringИмя пользователя.
publisher_idintegerID проекта, в котором создан вариант авторизации.
emailstringEmail-адрес пользователя.
payloadstringДополнительная информация.
promo_email_agreementbooleanСогласие на рассылку. Может иметь следующие значения:
  • true, если пользователь согласен получать рассылку;
  • false, если не согласен.
По умолчанию: true.
Чтобы добавить эту опцию в регистрационную форму виджета:
  • Обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com, если вы используете Widget 2.0.
  • Добавьте параметр fields со значением promo_email_agreement в код инициализации, если вы используете предыдущие версии виджета.
connection_informationstringПоказывает, подтверждена ли дата рождения с помощью сервиса okname.

Аутентификация через социальные сети

Токен будет содержать основные поля после аутентификации или подтверждения адреса электронной почты. Наличие этих полей не зависит от базы данных пользователя и вызова аутентификации.

Поле                                                  ТипОбязательное полеОписание
providerstringДаНазвание социальной сети. Возможные значения: amazon, apple, baidu, battlenet, discord, facebook, github, google, kakao, linkedin, mailru, microsoft, msn, naver, ok, paypal, psn, qq, reddit, steam, twitch, twitter, vimeo, vk, wechat, weibo, yahoo, yandex, youtube, xbox.
idstringДаID пользователя в социальной сети.
is_cross_authbooleanПоказывает, используется ли автоматическая аутентификация.
social_access_tokenstringПараметр access_token социальной сети, который используется для аутентификации. Обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com для настройки.
picturestring (URL)Ссылка на изображение профиля пользователя в социальной сети.
birthdaydate (RFC 3339)Дата рождения пользователя, указанная в социальной сети.
genderstringПол пользователя в социальной сети.
namestringНикнейм пользователя в социальной сети.

Сценарий пользователя

  1. Пользователь авторизуется в лаунчере.
  2. Лаунчер получает авторизационный токен с информацией о пользователе с сервера Xsolla Login.
  3. Пользователь запускает игру из лаунчера.
  4. При запуске игры лаунчер передает клиенту игры следующие аргументы:
    • --xsolla-login-token <token> — авторизационный токен, полученный с сервера Xsolla Login;
    • --xsolla-locale <locale> — язык интерфейса.

Пример:

Copy
Full screen
Small screen
    game.exe --xsolla-login-token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InAudHVnb2x1a292QHhzb2xsYS5jb20iLCJleHAiOjE1ODU1MDYxMTMsImdyb3VwcyI6W10sImlhdCI6MTU4NDY0MjExMywiaXNzIjoiaHR0cHM6Ly9sb2dpbi54c29sbGEuY29tIiwicGFydG5lcl9kYXRhIjp7ImFkbWluIjp0cnVlfSwicGF5bG9hZCI6IiIsInByb21vX2VtYWlsX2FncmVlbWVudCI6dHJ1ZSwicHJvdmlkZXIiOiJ4c29sbGEiLCJyZWRpcmVjdF91cmwiOiIiLCJzdWIiOiIyNmYxNzI5Ni00Nzk5LTExZTgtOTBkMC00MjAxMGE4YTAwMTkiLCJ0eXBlIjoic29jaWFsIiwidXNlcm5hbWUiOiJzb21lX3VzZXJAbWFpbC5jb20iLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6Ikk2QTJrTEZPQ2JkcnUzamIxMjNyT3JmWnNkTnFpdVcxMjNpWTdKcW85OHI5b0hPbyIsInhzb2xsYV9sb2dpbl9wcm9qZWN0X2lkIjoiNDBkYjJlYTQtNWQ0Mi0xMWU2LWEzZmYtMDA1NDU2YTBlMTRhIn0.ZsTNiwY2iPp7HKqHs5g6JXzL2kv_RVuMNBlF-Tn2ccE --xsolla-locale en
    
    1. Клиент игры передает полученный токен пользователя на сервер игры для получения данных пользователя одним из следующих способов:

    Как настроить

    1. Реализуйте получение данных пользователя:
    2. Настройте обработку полученных параметров для автоматической аутентификации пользователей в игре.
    3. Реализуйте выбор языка интерфейса на основе языка, полученного в аргументе --xsolla-locale <locale> на клиенте игры.
    4.  Реализуйте отслеживание новых пользователей и создание их аккаунтов на сервере игры.

    Расшифровка JWT на сервере игры

    1. Откройте проект в Личном кабинете и перейдите в раздел Login.
    2. В панели нужного варианта авторизации нажмите Настроить.
    3. Перейдите к блоку Безопасность и выберите раздел Подпись JWT.
    4. Скопируйте значение секретного ключа из поля Секретный ключ.
    5. Выберите библиотеку и подключите ее на серверной стороне вашего приложения.
    6. Передайте секретный ключ, скопированный на шаге 4, в функцию расшифровки JWT.
    Внимание
    Не раскрывайте свой секретный ключ никому. Если он был скомпрометирован, обновите его.

    Получение данных пользователя с помощью Login API

    Воспользуйтесь методом Get user details Login API для получения данных пользователя.

    Регистрация пользователя

    Чтобы отслеживать регистрацию новых пользователей:

    1. Откройте проект в Личном кабинете.В боковом меню перейдите в раздел Login.
    2. В панели нужного варианта авторизации нажмите Настроить.
    3. В верхнем блоке настроек на странице навигации нажмите Настройки Callback URL.
    4. В поле Callback URL введите адрес, на который необходимо переадресовать пользователя после регистрации.
    5. Настройте создание нового аккаунта в игре. После регистрации пользователь будет переадресован на URL-адрес, указанный в поле Callback URL, с параметром is_new=1.
    6. Чтобы получить информацию для заполнения аккаунта, воспользуйтесь методом Login API.

    Пример:

    Copy
    Full screen
    Small screen
      https://<callbackUrl>?is_new=1&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWR
      

      Язык интерфейса

      ExampleValueMeaning
      –xsolla-locale en“en”
      “ru”
      “cn”
      “tw”
      “fr”
      “de”
      “it”
      “pt”
      “es”
      “pl”
      “cs”
      “ko”
      “ar”
      “bg”
      “he”
      “ja”
      “tr”
      “th”
      “vi”
      “ro”
      “English”
      “Русский”
      “简体中文”
      “中国传统的”
      “Français”
      “Deutsch”
      “Italiano”
      “Português”
      “Español”
      “Polski”
      “Čeština”
      “한국어”
      “العربية”
      “Български”
      “עברית”
      “日本語”
      “Türkçe”
      “ไทย”
      “Tiếng Việt”
      “Română”
      Была ли статья полезна?
      Спасибо!
      Что может сделать страницу еще лучше? Сообщение
      Жаль, что так произошло
      Расскажите, почему статья не была полезна. Сообщение
      Спасибо за обратную связь!
      Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
      Последнее обновление: 23 сентября 2024

      Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

      Сообщите о проблеме
      Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
      Укажите email-адрес, чтобы мы могли связаться с вами
      Спасибо за обратную связь!