Хранилище PlayFab
При использовании хранилища PlayFab вам доступны:
- регистрация пользователей;
- аутентификация по email-адресу пользователя и паролю;
- аутентификация через социальную сеть Twitch;
- сброс пароля пользователя;
- блокировка пользователей.
Сценарий взаимодействия
В качестве клиента вы можете использовать виджет авторизации или ваше приложение. Сценарий взаимодействия клиента и сервера Xsolla Login:
- Клиент отправляет запросы на сервер Xsolla Login. Формат запросов описан в группах методов JWT, OAuth 2.0 и Password.
- Сервер Xsolla Login отправляет запросы в PlayFab.
- Сервер Xsolla Login обрабатывает ответ от PlayFab и возвращает результат клиенту.
- Клиент обрабатывает ответ.
Регистрация пользователя в PlayFab
Регистрация пользователей выполняется в соответствии со сценарием. Для завершения регистрации вы можете настроить отправку письма для подтверждения аккаунта пользователя.
Сценарий регистрации пользователя
- Клиент отправляет запрос
Register new user на сервер Xsolla Login. - Сервер Xsolla Login отправляет запрос на регистрацию.
- Информация о пользователе записывается в базу данных Xsolla.
- Сервер Xsolla Login отправляет запрос на изменение данных в PlayFab.
- Если вы настроили подтверждение аккаунта:
- При использовании методов Login API для интеграции продукта, регистрация считается завершенной.
- При использовании виджета авторизации для интеграции продукта, пользователь перенаправляется на страницу с сообщением: Письмо со ссылкой для подтверждения аккаунта отправлено на {email-адрес}.
Подтверждение аккаунта пользователя в PlayFab
Чтобы настроить отправку письма для подтверждения аккаунта, выполните шаги:- Настройте свой проект в PlayFab в соответствии с инструкцией.
- Убедитесь, что шаги Create an email template и Create a rule to send an email when a contact email is updated из раздела Requirements выполнены.
- Обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.
Аутентификация по email-адресу пользователя и паролю
Доступны два типа аутентификации по email-адресу пользователя и паролю: по стандарту JWT и протоколу OAuth 2.0.
- Записывается информация о пользователе.
- Сервер Xsolla Login отправляет запрос на изменение данных в PlayFab.
Сценарий аутентификации по стандарту JWT
- Клиент отправляет запрос Auth by username and password на сервер Xsolla Login.
- Сервер Xsolla Login отправляет запрос на аутентификацию в PlayFab.
- Сервер Xsolla Login генерирует JWT пользователя. При этом:
- Значение PlayFabId из ответа на запрос в PlayFab записывается в поле
external_account_id
. - Значение SessionTicket из ответа на запрос в PlayFab записывается в поле
session_ticket
. - Значения EntityToken из ответа на запрос в PlayFab записываются в поля
entity_token
,entity_id
,entity_type
.
- Значение PlayFabId из ответа на запрос в PlayFab записывается в поле
- Пользователь перенаправляется на
login_url
с query-параметромtoken
. В параметрtoken
записывается JWT пользователя.
Сценарий аутентификации по протоколу OAuth 2.0
- Клиент отправляет запрос Auth by username and password с параметром
redirect_uri
на сервер Xsolla Login. - Сервер Xsolla Login отправляет запрос на аутентификацию в PlayFab.
- Сервер Xsolla Login возвращает
login_url
вместе сcode
в query-параметре и переданнымredirect_uri
. - Пользователь перенаправляется на
redirect_uri
с query-параметромcode
. - Клиент отправляет запрос Generate JWT на сервер Xsolla Login для обмена полученного
code
на JWT пользователя. - Сервер 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
.
- Значение PlayFabId из ответа на запрос в PlayFab записывается в поле
Аутентификация через Twitch
Для аутентификации пользователей через Twitch необходимо настроить социальную сеть в PlayFab. Доступны два типа аутентификации через социальную сеть Twitch — по стандарту JWT и протоколу OAuth 2.0.
Сценарий аутентификации по стандарту JWT
- Клиент отправляет запрос Auth via social network на сервер Xsolla Login.
- Сервер Xsolla Login отправляет запрос на аутентификацию в PlayFab.
- Информация о пользователе записывается в базу данных Xsolla.
- Сервер Xsolla Login генерирует JWT пользователя. При этом:
- Значение PlayFabId из ответа на запрос в PlayFab записывается в поле
external_account_id
. - Значение SessionTicket из ответа на запрос в PlayFab записывается в поле
session_ticket
. - Значения EntityToken из ответа на запрос в PlayFab записываются в поля
entity_token
,entity_id
,entity_type
.
- Значение PlayFabId из ответа на запрос в PlayFab записывается в поле
- Пользователь перенаправляется на
login_url
с query-параметромtoken
. В параметрtoken
записывается JWT пользователя.
Сценарий аутентификации по протоколу OAuth 2.0
- Клиент отправляет запрос Auth via social network с параметром
redirect_uri
на сервер Xsolla Login. - Сервер Xsolla Login отправляет запрос на аутентификацию в PlayFab.
- Информация о пользователе записывается в базу данных Xsolla.
- Сервер Xsolla Login отправляет запрос на изменение данных в PlayFab.
- Пользователь перенаправляется на
redirect_uri
с query-параметромcode
. - Клиент отправляет запрос Generate JWT на сервер Xsolla Login для обмена полученного параметра
code
на JWT пользователя. - Сервер Xsolla Login генерирует JWT пользователя. При этом:
- Значение PlayFabId из ответа на запрос в PlayFab записывается в поле
external_account_id
. - Значение SessionTicket из ответа на запрос в PlayFab записывается в поле
session_ticket
, если в запрос на аутентификацию в Twitch был переданscope=playfab
. - Значения EntityToken из ответа на запрос в PlayFab записываются в поля
entity_token
,entity_id
,entity_type
.
- Значение PlayFabId из ответа на запрос в PlayFab записывается в поле
Настройка аутентификации через Twitch
- Зарегистрируйте аккаунт Twitch и получите Twitch Client ID.
- Перейдите в Личный кабинет в раздел проект > Login.
- Нажмите Настроить в панели нужного варианта авторизации.
- Перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
- Перейдите к панели социальной сети Twitch, нажмите значок ⚙ и выберите Настройки.
- Укажите Twitch Client ID в поле ID приложения.
- Если необходимо, измените другие настройки.
- Нажмите Подключить.
- Настройте Twitch в личном кабинете PlayFab.
- Если вы интегрировали продукт Авторизация через методы Login API:
Сброс пароля пользователя
Сценарий сброса пароля пользователя:
- Клиент отправляет запрос Reset password на сервер Xsolla Login.
- Сервер Xsolla Login отправляет запрос на сброс пароля в PlayFab.
- Обновленный пароль записывается в базу данных PlayFab.
Блокировка пользователя
Вы можете заблокировать пользователя через Личный кабинет. Заблокированный пользователь не сможет пройти аутентификацию. Запись о блокировке сохранится только на стороне Xsolla.
Продолжить чтение
Полезные ссылки
Как подключить хранилище PlayFabНашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.