Виджет аутентификации через ID пользователя не требует регистрации и ввода пароля — пользователю достаточно ввести свой ID из игры или использовать для входа тот же аккаунт социальной сети, что и для входа в игру.
Примечание
Используйте аутентификацию через ID пользователя, если в игре не настроен Xsolla Login.
Предоставляет широкий выбор способов авторизации: через социальные сети, с помощью одноразовых кодов или ссылок, с помощью ввода логина и пароля.
Виджет Xsolla Login поддерживает кастомизацию.
Позволяет вводить возрастные ограничения на авторизацию.
Примечание
Используйте аутентификацию пользователя через Xsolla Login, если этот продукт уже настроен в игре.
При любом способе аутентификации вы можете добавить блок Быстрого входа на ваш сайт.
Сценарий пользователя
Пользователь переходит в Web Shop с настроенной аутентификацией через ID пользователя.
Пользователь авторизуется в Web Shop одним из способов:
Пользователь вводит свой ID в блоке Быстрого входа и нажимает кнопку входа.
Пользователь нажимает кнопку покупки у выбранного товара или кнопку входа в верхней панели:
Открывается модальное окно ввода ID пользователя или входа через социальную сеть.
Пользователь вводит свой ID и нажимает Продолжить или выбирает одну из социальных сетей, нажав значок социальной сети, и проходит аутентификацию на странице социальной сети.
Выполняется проверка существования пользователя. Если пользователь с указанным ID или аккаунтом социальной сети существует в игре, пользователь будет авторизован в Web Shop. В противном случае пользователь получит сообщение об ошибке.
В раскрывающемся списке выберите Новый вариант Авторизации.
Введите URL-адрес, на который вы хотите получать вебхуки.
Примечание
URL-адрес вебхука должен начинаться с https://. Протокол http:// не поддерживается.
Примечание
Хранилище Xsolla является хранилищем данных пользователей по умолчанию. Рекомендуется не менять его в Личном кабинете. С этим типом хранилища вам будут доступны более гибкие настройки.
Настройте авторизацию через социальные сети, которые используются для авторизации в вашем приложении (опционально):
Откройте проект в Личном кабинете и перейдите в раздел Login.
Нажмите Настроить в панели нужного варианта авторизации.
На странице навигации перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
Чтобы подключить социальную сеть, в карточке социальной сети нажмите значок ⚙ справа от названия и выберите пункт Подключить.
Примечание
Для использования авторизации через социальные сети в проекте укажите ID и секретный ключ вашего приложения в настройках карточки социальной сети. ID и секретный ключ приложения находятся в аккаунте разработчика социального провайдера. Подробную инструкцию по получению ID и секретного ключа можно найти в настройках карточки социальной сети в Личном кабинете.
Сценарий пользователя
Пользователь переходит в Web Shop с настроенной аутентификацией через Xsolla Login.
Пользователь нажимает кнопку покупки у выбранного товара, кнопку входа в верхней панели или кнопку входа в Блоке быстрого входа.
Открывается модальное окно со способами авторизации, настроенными в Xsolla Login.
Пользователь переходит к авторизации, при необходимости вводит дополнительные данные.
Выполняется проверка существования пользователя. Если пользователь существует в игре, он будет авторизован в Web Shop. В противном случае пользователь получит сообщение об ошибке.
Как настроить
В конструкторе вашего сайта перейдите в блок Настройки входа.
Выберите вариант авторизации Xsolla Login.
В раскрывающемся списке выберите Новый вариант Авторизации.
Примечание
В результате автоматически будет создан вариант авторизации с возможностью аутентификации пользователя по email-адресу и паролю. Для созданного варианта URL-адрес Web Shop будет указан в качестве callback URL для перенаправления пользователя в следующих случаях:
после успешной аутентификации;
после подтверждения электронной почты;
после сброса пароля;
в случае ошибки аутентификации.
При смене домена Web Shop callback URL в настройках варианта авторизации изменяется автоматически.
Перейдите к настройке созданного варианта авторизации из модального окна или нажмите Настройте способы авторизации в блоке Xsolla Login.
Примечание
Для аутентификации в Web Shop должны быть настроены те же социальные сети, что и для аутентификации в вашем приложении. Если социальные сети не настроены, будет доступна аутентификация пользователя по email-адресу и паролю.
При подключении аутентификации в Web Shop через социальные сети используйте те же Application ID и Application Secret, что и для аутентификации в вашем приложении.
Если вы хотите, чтобы продукт Login выполнял всю логику аутентификации, используйте хранилище Xsolla. С этим типом хранилища вам будут доступны более гибкие настройки.
При создании варианта авторизации хранилище Xsolla подключается по умолчанию, никаких дополнительных действий по его настройке не требуется. Если вы изменили тип хранилища по умолчанию, чтобы вновь подключить хранилище Xsolla, выполните следующие действия:
Перейдите к блоку База пользователей и выберите раздел Хранилище.
Выберите пункт Хранилище Xsolla и нажмите Сохранить изменения.
Примечание
Хранилище поддерживает аутентификацию по стандарту JWT и протоколу OAuth 2.0. Вся информация о пользователях хранится на стороне Xsolla.
Хранилище PlayFab
Если вы хотите использовать функциональность PlayFab для работы с пользователями, подключите хранилище PlayFab. В хранилище записывается следующая информация:
имя пользователя;
email-адрес пользователя;
пароль пользователя;
поля с расширенной формы регистрации, если она настроена.
Примечание
Хранилище поддерживает аутентификацию по стандарту JWT и протоколу OAuth 2.0.
Хранилище PlayFab предоставляет вам доступ к следующим функциям:
регистрация пользователей;
аутентификация по email-адресу или имени пользователя и паролю;
аутентификация через Twitch;
сброс пароля пользователя;
блокировка пользователя.
Чтобы подключить хранилище:
Перейдите к блоку База пользователей и выберите раздел Хранилище.
Выберите пункт PlayFab.
В поле Title ID введите значение того же поля из личного кабинета PlayFab.
Нажмите Сохранить изменения.
Примечание
Вся информация о пользователях хранится на стороне Xsolla. Пароль пользователя валидируется на стороне PlayFab.
Хранилище Firebase
Если вы хотите использовать функциональность Firebase для работы с пользователями, подключите хранилище Firebase. В хранилище записывается следующая информация:
имя пользователя;
email-адрес пользователя;
пароль пользователя;
поля с расширенной формы регистрации, если она настроена.
Примечание
Хранилище поддерживает аутентификацию по стандарту JWT и протоколу OAuth 2.0.
Чтобы подключить хранилище:
Перейдите к блоку База пользователей и выберите раздел Хранилище.
Выберите пункт Firebase.
В поле Ключ API введите значение того же поля из личного кабинета Firebase.
Нажмите Сохранить изменения.
Примечание
Вся информация о пользователях хранится в формате JSON и обновляется в режиме реального времени с каждым подключенным клиентом.
Собственное хранилище
Если вы используете собственную систему авторизации и храните пользовательские данные на стороне вашего приложения, подключите собственное хранилище.
Собственное хранилище предоставляет вам доступ к следующим функциям:
регистрация пользователей;
аутентификация пользователя с помощью email-адреса или имени пользователя и пароля;
аутентификация без пароля по номеру телефона;
аутентификация через социальные сети;
сброс пароля пользователя.
Примечание
Хранилище поддерживает аутентификацию по стандарту JWT.
Для взаимодействия сервера Xsolla Login и вашего приложения:
Для заданных вами URL-адресов реализуйте API, который будет отвечать следующим образом:
HTTP 200 / HTTP 204 для успешных запросов. Если требуется, JSON с дополнительными данными пользователя можно разместить в теле ответа. Переданные данные записываются в JWT (параметр partner_data).
Другие HTTP-коды для неуспешных запросов.
Примечание
Чтобы передавать ID пользователя из вашей базы данных в JWT, обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.
Чтобы аутентификация без пароля по номеру телефона работала корректно, ответ вашего API должен содержать параметр account_id, который соответствует ID пользователя на стороне клиента.
Настройка обработки запросов от сервера Xsolla Login
Запросы от сервера Xsolla Login отправляются на URL, указанные в Личном кабинете, с заголовком Authorization: Bearer <JWT>. JWT подписан секретным ключом проекта.
Если валидация прошла успешно, декодируйте JWT и убедитесь, что в его структуре есть поля из таблицы ниже. Для декодирования вы можете использовать библиотеку.
Аутентификация пользователя без дополнительного перехода в модальное окно.
Настройка содержимого блока. Вы можете включить и настроить следующие разделы:
Заголовок.
Описание.
Инструкция, как найти ID пользователя.
Пользовательский фон.
Вы также можете расширить возможности блока, например добавить текст, кнопку или изображение с помощью JS-кода.
Если на сайте настроена аутентификация через Xsolla Login, в блоке быстрого входа отображается дополнительная кнопка призыва к авторизации. При нажатии на кнопку в блоке будет открыто модальное окно для авторизации одним из способов Xsolla Login.
Возможности:
Настройка текста кнопки, призывающей к авторизации.
Настройка пользовательского фона.
Вы также можете расширить возможности блока, например добавить текст, кнопку или изображение с помощью JS-кода.
Для новых сайтов в шаблоне Web Shop блок Быстрого входа добавляется по умолчанию, при необходимости вы можете удалить его.
Если вы создавали сайт ранее и в нем нет блока Быстрого входа, вы можете его добавить.
В разделе Сайты выберите ваш сайт и нажмите Открыть Конструктор сайтов.
Нажмите Добавить блок.
Выберите блок Быстрый вход.
Примечание
Для использования блока Быстрого входа должен быть предварительно выбран вариант авторизации в раскрывающемся списке в разделе Настройки входа.
Для способа аутентификации через ID пользователя в разделе Настройки входа также необходимо указать URL-адрес, на который вы хотите получать вебхук. Если не указать его, сайт не может быть опубликован, так как аутентификация пользователей будет недоступна.
Аутентификация пользователей при предварительном просмотре сайта возможна без добавления URL-адреса вебхука.