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

Login

Хранилище PlayFab

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

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

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

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

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

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

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

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

  1. Клиент отправляет запрос Register new user на сервер Авторизации Иксолла.
  2. Сервер Авторизации Иксолла отправляет запрос на регистрацию.
  3. Информация о пользователе записывается в базу данных Xsolla.
  4. Сервер Авторизации Иксолла отправляет запрос на изменение данных в 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 нет записи о пользователе:
  • Записывается информация о пользователе.
  • Сервер Авторизации Иксолла отправляет запрос на изменение данных в PlayFab.

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

  1. Клиент отправляет запрос Auth by username and password на сервер Авторизации Иксолла.
  2. Сервер Авторизации Иксолла отправляет запрос на аутентификацию в PlayFab.
  3. Сервер Авторизации Иксолла генерирует 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 на сервер Авторизации Иксолла.
  2. Сервер Авторизации Иксолла отправляет запрос на аутентификацию в PlayFab.
  3. Сервер Авторизации Иксолла возвращает login_url вместе с code в query-параметре и переданным redirect_uri.
  4. Пользователь перенаправляется на redirect_uri с query-параметром code.
  5. Клиент отправляет запрос Generate JWT на сервер Авторизации Иксолла для обмена полученного code на JWT пользователя.
  6. Сервер Авторизации Иксолла генерирует 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 на сервер Авторизации Иксолла.
  2. Сервер Авторизации Иксолла отправляет запрос на аутентификацию в PlayFab.
  3. Информация о пользователе записывается в базу данных Xsolla.
  4. Сервер Авторизации Иксолла генерирует 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 на сервер Авторизации Иксолла.
  2. Сервер Авторизации Иксолла отправляет запрос на аутентификацию в PlayFab.
  3. Информация о пользователе записывается в базу данных Xsolla.
  4. Сервер Авторизации Иксолла отправляет запрос на изменение данных в PlayFab.
  5. Пользователь перенаправляется на redirect_uri с query-параметром code.
  6. Клиент отправляет запрос Generate JWT на сервер Авторизации Иксолла для обмена полученного параметра code на JWT пользователя.
  7. Сервер Авторизации Иксолла генерирует 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 на сервер Авторизации Иксолла.
  2. Сервер Авторизации Иксолла отправляет запрос на сброс пароля в PlayFab.
  3. Обновленный пароль записывается в базу данных PlayFab.

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

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

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

В другой раз

Спасибо за обратную связь!

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

Последнее обновление: 10 октября 2023

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

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