Login / Хранилище PlayFab
  На главную

Login

Хранилище PlayFab

При использовании хранилища PlayFab вам доступны:

Примечание
Вы можете использовать методы PlayFab для отправки рассылок пользователям, например, об акциях или обновлениях.

Сценарий взаимодействия

В качестве клиента вы можете использовать виджет авторизации или ваше приложение. Сценарий взаимодействия клиента и сервера Xsolla Login:

  1. Клиент отправляет запросы на сервер Xsolla Login. Формат запросов описан в группах методов JWT, OAuth 2.0 и Password.
  2. Сервер Xsolla Login отправляет запросы в PlayFab.
  3. Сервер Xsolla Login обрабатывает ответ от PlayFab и возвращает результат клиенту.
  4. Клиент обрабатывает ответ.

Примечание
На стороне Xsolla хранятся email-адреса пользователя и данные социальных сетей. Пароли и дополнительные данные, собираемые PlayFab, не хранятся на стороне Xsolla.

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

Регистрация пользователей выполняется в соответствии со сценарием. Для завершения регистрации вы можете настроить отправку письма для подтверждения аккаунта пользователя.

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

  1. Клиент отправляет запрос Register new user на сервер Xsolla Login.
  2. Сервер Xsolla Login отправляет запрос на регистрацию.
  3. Информация о пользователе записывается в базу данных Xsolla.
  4. Сервер Xsolla Login отправляет запрос на изменение данных в PlayFab.
  5. Если вы настроили подтверждение аккаунта:
    • При использовании методов Login API для интеграции продукта, регистрация считается завершенной.
    • При использовании виджета авторизации для интеграции продукта, пользователь перенаправляется на страницу с сообщением: Письмо со ссылкой для подтверждения аккаунта отправлено на {email-адрес}.
    Если настройка не выполнена, после регистрации пользователь будет сразу авторизован.

Подтверждение аккаунта пользователя в PlayFab

Чтобы настроить отправку письма для подтверждения аккаунта, выполните шаги:
  1. Настройте свой проект в PlayFab в соответствии с инструкцией.
  2. Убедитесь, что шаги Create an email template и Create a rule to send an email when a contact email is updated из раздела Requirements выполнены.
  3. Обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.
Примечание
По умолчанию после регистрации в проекте, который использует хранилище PlayFab, пользователь может авторизоваться в аккаунте без подтверждения своего email-адреса.

Аутентификация по email-адресу пользователя и паролю

Доступны два типа аутентификации по email-адресу пользователя и паролю: по стандарту JWT и протоколу OAuth 2.0.

Примечание
Если в базе данных Xsolla нет записи о пользователе:
  • Записывается информация о пользователе.
  • Сервер Xsolla Login отправляет запрос на изменение данных в PlayFab.

Сценарий аутентификации по стандарту JWT

  1. Клиент отправляет запрос Auth by username and password на сервер Xsolla Login.
  2. Сервер Xsolla Login отправляет запрос на аутентификацию в PlayFab.
  3. Сервер Xsolla Login генерирует JWT пользователя. При этом:
    • Значение PlayFabId из ответа на запрос в PlayFab записывается в поле external_account_id.
    • Значение SessionTicket из ответа на запрос в PlayFab записывается в поле session_ticket.
    • Значения EntityToken из ответа на запрос в PlayFab записываются в поля entity_token, entity_id, entity_type.
  4. Пользователь перенаправляется на login_url с query-параметром token. В параметр token записывается JWT пользователя.

Сценарий аутентификации по протоколу OAuth 2.0

  1. Клиент отправляет запрос Auth by username and password с параметром redirect_uri на сервер Xsolla Login.
  2. Сервер Xsolla Login отправляет запрос на аутентификацию в PlayFab.
  3. Сервер Xsolla Login возвращает login_url вместе с code в query-параметре и переданным redirect_uri.
  4. Пользователь перенаправляется на redirect_uri с query-параметром code.
  5. Клиент отправляет запрос Generate JWT на сервер Xsolla Login для обмена полученного code на JWT пользователя.
  6. Сервер Xsolla Login генерирует JWT пользователя. При этом:
    • Значение PlayFabId из ответа на запрос в PlayFab записывается в поле external_account_id.
    • Значение SessionTicket из ответа на запрос в PlayFab записывается в поле session_ticket, если в запрос Auth by Username and Password был передан scope=playfab.
    • Значения EntityToken из ответа на запрос в PlayFab записываются в поля entity_token, entity_id, entity_type.

Аутентификация через Twitch

Для аутентификации пользователей через Twitch необходимо настроить социальную сеть в PlayFab. Доступны два типа аутентификации через социальную сеть Twitch — по стандарту JWT и протоколу OAuth 2.0.

Примечание
Если в базе данных PlayFab запись о пользователе привязана к аккаунту Twitch, в базе данных Xsolla данная запись считается одним аккаунтом.

Сценарий аутентификации по стандарту JWT

  1. Клиент отправляет запрос Auth via social network на сервер Xsolla Login.
  2. Сервер Xsolla Login отправляет запрос на аутентификацию в PlayFab.
  3. Информация о пользователе записывается в базу данных Xsolla.
  4. Сервер Xsolla Login генерирует JWT пользователя. При этом:
    • Значение PlayFabId из ответа на запрос в PlayFab записывается в поле external_account_id.
    • Значение SessionTicket из ответа на запрос в PlayFab записывается в поле session_ticket.
    • Значения EntityToken из ответа на запрос в PlayFab записываются в поля entity_token, entity_id, entity_type.
  5. Пользователь перенаправляется на login_url с query-параметром token. В параметр token записывается JWT пользователя.

Сценарий аутентификации по протоколу OAuth 2.0

  1. Клиент отправляет запрос Auth via social network с параметром redirect_uri на сервер Xsolla Login.
  2. Сервер Xsolla Login отправляет запрос на аутентификацию в PlayFab.
  3. Информация о пользователе записывается в базу данных Xsolla.
  4. Сервер Xsolla Login отправляет запрос на изменение данных в PlayFab.
  5. Пользователь перенаправляется на redirect_uri с query-параметром code.
  6. Клиент отправляет запрос Generate JWT на сервер Xsolla Login для обмена полученного параметра code на JWT пользователя.
  7. Сервер Xsolla Login генерирует JWT пользователя. При этом:
    • Значение PlayFabId из ответа на запрос в PlayFab записывается в поле external_account_id.
    • Значение SessionTicket из ответа на запрос в PlayFab записывается в поле session_ticket, если в запрос на аутентификацию в Twitch был передан scope=playfab.
    • Значения EntityToken из ответа на запрос в PlayFab записываются в поля entity_token, entity_id, entity_type.

Настройка аутентификации через Twitch

  1. Зарегистрируйте аккаунт Twitch и получите Twitch Client ID.
  2. Перейдите в Личный кабинет в раздел проект > Login.
  3. Нажмите Настроить в панели нужного варианта авторизации.
  4. Перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
  5. Перейдите к панели социальной сети Twitch, нажмите значок ⚙ и выберите Настройки.
  6. Укажите Twitch Client ID в поле ID приложения.
  7. Если необходимо, измените другие настройки.
  8. Нажмите Подключить.
  9. Настройте Twitch в личном кабинете PlayFab.
  10. Если вы интегрировали продукт Авторизация через методы Login API:
    1. Получите ссылку для аутентификации через Twitch. Для этого используйте метод аутентификации через социальные сети (JWT или OAuth 2.0).
    2. Разместите полученную ссылку в интерфейсе вашего приложения.

Сброс пароля пользователя

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

  1. Клиент отправляет запрос Reset password на сервер Xsolla Login.
  2. Сервер Xsolla Login отправляет запрос на сброс пароля в PlayFab.
  3. Обновленный пароль записывается в базу данных PlayFab.

Блокировка пользователя

Вы можете заблокировать пользователя через Личный кабинет. Заблокированный пользователь не сможет пройти аутентификацию. Запись о блокировке сохранится только на стороне Xsolla.

Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.

Продолжить чтение

Последнее обновление: 30 августа 2024

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

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