Настройка аутентификации пользователя
Аутентификация позволяет пользователю покупать товары в Web Shop и видеть уникальные предложения в каталоге.
Основные возможности Web Shop с аутентификацией:
- Поддержка множества способов авторизации в Web Shop.
- Настройка персонализированных витрин и промокодов для авторизованных пользователей.
- Соблюдение местного законодательства по защите и обработке персональных данных.
- Ограничение частоты запросов и защита от DDoS-атак.
Вы можете выбрать один из следующих способов аутентификации пользователя:
- Аутентификация через ID пользователя:
- Упрощает интеграцию Web Shop с игрой.
- Виджет аутентификации через ID пользователя не требует регистрации и ввода пароля — пользователю достаточно ввести свой ID из игры или использовать для входа тот же аккаунт социальной сети, что и для входа в игру.
- Аутентификация через ID пользователя и диплинк:
- Диплинки можно использовать в качестве дополнительного метода авторизации при входе через ID пользователя.
- Виджет аутентификации через ID пользователя и диплинк не требует регистрации и ввода пароля — пользователю достаточно ввести свой ID из игры или войти через игру с помощью диплинка.
- Аутентификация через диплинк:
- Когда диплинк используется как основной способ входа, он позволяет сохранять платежные данные, чего нельзя сделать при авторизации через ID пользователя.
- Аутентификация пользователя через Xsolla Login:
- Предоставляет широкий выбор способов авторизации: через социальные сети, с помощью одноразовых кодов или ссылок, с помощью ввода логина и пароля.
- Виджет Xsolla Login поддерживает кастомизацию.
- Позволяет вводить возрастные ограничения на авторизацию.
- Аутентификация с привязкой ID пользователя:
- Позволяет сочетать безопасность Xsolla Login с преимуществами использования ID пользователя из игры. Виджет Xsolla Login функционирует изолированно от игрового клиента — взаимодействие с игрой осуществляется через вебхуки. Привязанный ID пользователя используется для быстрого начисления покупок пользователю в игру и для персонализированных предложений.
- Не требует изменений на стороне клиента игры и подходит для случаев, когда важно обеспечить доступ к аккаунту в Web Shop только для владельца — например, чтобы предотвратить несанкционированное использование баланса баллов лояльности другими пользователями.
Сценарий пользователя
- Пользователь переходит в Web Shop с настроенной аутентификацией через ID пользователя.
- Пользователь авторизуется в Web Shop одним из способов:
- Пользователь вводит свой ID в блоке Быстрый вход и нажимает кнопку входа.
- Пользователь нажимает кнопку покупки у выбранного товара или кнопку входа в верхней панели:
- Открывается модальное окно ввода ID пользователя или входа через социальную сеть.
- Пользователь вводит свой ID и нажимает Продолжить или выбирает одну из социальных сетей, нажав значок социальной сети, и проходит аутентификацию на странице социальной сети.

- Выполняется проверка существования пользователя. Если пользователь с указанным ID или аккаунтом социальной сети существует в игре, пользователь будет авторизован в Web Shop. В противном случае пользователь получит сообщение об ошибке.
Как настроить
- В вашем приложении реализуйте обработку вебхука для проверки существования пользователя.
При получении вебхука приложение должно выполнять следующие действия:
- Поиск пользователя по полученному в вебхуке ID пользователя.
- Отправка одного из кодов статуса в зависимости от результатов поиска пользователя:
- 200 HTTP-код с ответом вебхука, если пользователь найден;
- 404 HTTP-код, если пользователь с таким ID не зарегистрирован в игре.
- Отправка атрибутов пользователя для персонализации.
В проекте в Личном кабинете перейдите в раздел Каналы продаж > Веб-сайты.
В панели нужного сайта нажмите Открыть Site Builder.
В проекте в аккаунте для мобильных игр перейдите в раздел Web Shop.
Нажмите панель вашего сайта.
Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
Нажмите панель вашего сайта.
Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
Нажмите панель вашего сайта.
Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
Нажмите панель вашего сайта.
- Если ваш сайт содержит несколько страниц, выберите нужную страницу:
- Нажмите на название текущей страницы в верхней части конструктора.
- Выберите страницу из раскрывающегося списка.
- В конструкторе вашего сайта перейдите в блок Настройки входа.
- Выберите вариант ID пользователя.
- В раскрывающемся списке выберите Новый вариант Авторизации.
- Введите URL-адрес, на который вы хотите получать вебхуки. URL-адрес может отличаться от указанного в разделе Настройки проекта > Вебхуки.
- Введите URL-адрес для получения вебхуков. Этот URL-адрес может отличаться от указанного в разделе Настройки > Вебхуки.
- Введите URL-адрес для получения вебхуков. Этот URL-адрес может отличаться от указанного в разделе Настройки > Вебхуки.
- Введите URL-адрес для получения вебхуков. Этот URL-адрес может отличаться от указанного в разделе Настройки > Вебхуки.
- Введите URL-адрес для получения вебхуков. Этот URL-адрес может отличаться от указанного в разделе Настройки > Вебхуки.
https://. Протокол http:// не поддерживается.- Настройте авторизацию через социальные сети, которые используются для авторизации в вашем приложении (опционально):
- Откройте ваш проект в Личном кабинете и перейдите в раздел Авторизация.
- Нажмите Настроить в панели нужного варианта авторизации.
- На странице навигации перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
- Настройте авторизацию через социальные сети, которые используются для авторизации в вашем приложении (опционально):
- Откройте проект в вашем аккаунте и перейдите в раздел Игроки > Авторизация.
- Нажмите Настроить в панели нужного варианта авторизации.
- На странице навигации перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
- Настройте авторизацию через социальные сети, которые используются для авторизации в вашем приложении (опционально):
- Откройте проект в вашем аккаунте и перейдите в раздел Игроки > Авторизация.
- Нажмите Настроить в панели нужного варианта авторизации.
- На странице навигации перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
- Настройте авторизацию через социальные сети, которые используются для авторизации в вашем приложении (опционально):
- Откройте проект в вашем аккаунте и перейдите в раздел Игроки > Авторизация.
- Нажмите Настроить в панели нужного варианта авторизации.
- На странице навигации перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
- Настройте авторизацию через социальные сети, уже подключенные к вашему приложению (опционально):
- Откройте ваш проект в аккаунте для мобильных игр и перейдите в раздел Другие инструменты > Авторизация.
- Нажмите Настроить в панели нужного варианта авторизации.
- На странице навигации перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
- Чтобы подключить социальную сеть, в карточке социальной сети нажмите значок ⚙ справа от названия и выберите пункт Подключить.
Диплинк — это специальный URL, который ведет пользователя не просто на главную страницу приложения или сайта, а сразу на конкретный раздел, страницу или выполняет определенное действие.
Диплинки можно использовать в качестве дополнительного метода авторизации при входе через ID пользователя. Если у пользователя на мобильном устройстве установлена игра, с помощью диплинка он будет перенаправлен в игру для получения авторизационного токена.
Сценарий пользователя
В мобильном приложении
- Неавторизованный пользователь в Web Shop нажимает кнопку входа или кнопку покупки. Открывается модальное окно ввода ID пользователя или входа через мобильную игру.
- Пользователь нажимает кнопку входа через игру.
- Пользователь автоматически перенаправляется в игру, а оттуда — в Web Shop как авторизованный пользователь.
В настольной версии
- Неавторизованный пользователь в Web Shop нажимает кнопку входа или кнопку покупки. Открывается модальное окно ввода ID пользователя или входа в мобильную версию игры с помощью QR-кода.
- Пользователь сканирует QR-код с помощью мобильного устройства.
- На мобильном устройстве открывается Web Shop.
- Пользователь автоматически перенаправляется в игру, а оттуда — в Web Shop как авторизованный пользователь.
Сценарий взаимодействия сервисов
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant U as Пользователь
participant WS as Web Shop
participant B as Браузер
participant MOS as Мобильная ОС
participant G as Игра
participant LA as Login API
U->>WS: Нажимает кнопку входа через мобильную игру
activate WS
WS->>B: Перенаправляет пользователя по диплинку
activate B
B->>MOS: Выполняет системный вызов для открытия мобильной игры
activate MOS
MOS->>G: Открывает мобильную игру
activate G
G->>LA: Генерирует токен авторизации
activate LA
LA-->>G: Возвращает токен авторизации
deactivate LA
G->>MOS: Выполняет системный вызов для открытия браузера с токеном в URL-адресе
deactivate G
MOS-->>B: Открывает браузер с токеном в URL-адресе
deactivate MOS
B-->>WS: Открывает страницу Web Shop для авторизованного пользователя
deactivate B
WS-->>U: Отображает имя пользователя в заголовке
deactivate WS
Как настроить
На стороне игры
- В настройках вашей игры зарегистрируйте URL-схему для открытия игры через диплинк:
- в приложениях под Android — в файле
AndroidManifest.xml; - в приложениях под iOS — в файле
Info.plist.
- в приложениях под Android — в файле
- После регистрации схемы, когда пользователь авторизуется в Web Shop через игру, по указанному адресу должна открываться игра.
- Пример ссылки, открывающей игру через зарегистрированную URL-схему:
scheme— уникальный идентификатор вашей игры, используемый в пользовательской URL-схеме для открытия приложения и перехода к нужному действию.authorize— действие, которое должно быть выполнено после открытия игры. Используйте название действия, которое соответствует действиям в операционной системе вашего приложения.operationPayload=<VALUE>— параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla.
scheme://authorize?operationPayload=<VALUE>, где:Убедитесь, что параметр operationPayload обрабатывается корректно. Он должен передаваться без изменений — вам не нужно его расшифровывать или формировать самостоятельно.
Если параметр отсутствует или изменен, возникнет ошибка с кодом 400.
- Примеры:
- xml
1<key>CFBundleURLTypes</key>
2 <array>
3 <dict>
4 <key>CFBundleTypeRole</key>
5 <string>Editor</string>
6 <key>CFBundleURLSchemes</key>
7 <array>
8 <string>scheme</string>
9 </array>
10 </dict>
11 </array>

- xml
1<intent-filter>
2 <action android:name="android.intent.action.VIEW" />
3 <category android:name="android.intent.category.DEFAULT" />
4 <category android:name="android.intent.category.BROWSABLE" />
5 <data android:scheme="scheme" android:host="authorize" />
6</intent-filter>
- Реализуйте генерацию авторизационного токена в формате JWT, используя ID пользователя из игры.
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из Личного кабинета. Обязательный. |
settings.projectId | integer | ID проекта в Личном кабинете, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://publisher.xsolla.com/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в Личном кабинете, который указан в разделе Настройки компании > Компания или в адресной строке браузера на любой странице Личного кабинета. URL-адрес имеет вид https://publisher.xsolla.com/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из вашего аккаунта. Обязательный. |
settings.projectId | integer | ID проекта в вашем аккаунте, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://xsolla.com/for/free-to-play-pc/account/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в вашем аккаунте, который указан в разделе Настройки компании или в адресной строке браузера на любой странице вашего аккаунта. URL-адрес имеет вид https://xsolla.com/for/free-to-play-pc/account/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из вашего аккаунта. Обязательный. |
settings.projectId | integer | ID проекта в вашем аккаунте, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://xsolla.com/for/premium-pc-games/account/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в вашем аккаунте, который указан в разделе Настройки компании или в адресной строке браузера на любой странице вашего аккаунта. URL-адрес имеет вид https://xsolla.com/for/premium-pc-games/account/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из вашего аккаунта. Обязательный. |
settings.projectId | integer | ID проекта в вашем аккаунте, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://xsolla.com/for/web-games/account/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в вашем аккаунте, который указан в разделе Настройки компании или в адресной строке браузера на любой странице вашего аккаунта. URL-адрес имеет вид https://xsolla.com/for/web-games/account/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из аккаунта для мобильных игр. Обязательный. |
settings.projectId | integer | ID проекта в аккаунте для мобильных игр, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://publisher.xsolla.com/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в вашем аккаунте для мобильных игр, который указан в разделе Настройки компании > Компания или в адресной строке браузера на любой странице вашего аккаунта. URL-адрес имеет вид https://xsolla.com/for/mobile-games/account/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
- Пример вызова метода API генерации токена пользователя с использованием библиотеки curl:
- curl
1curl -X 'POST' \
2'https://sb-user-id-service.xsolla.com/api/v1/user-id/token' \
3-H 'accept: /' \
4-H 'Content-Type: application/json' \
5-d '{
6 "loginId": "000001aa-001a-0ab0-00001-01a01a01a01a",
7 "settings": {
8 "projectId": 123456,
9 "merchantId": 123456
10 },
11 "user": {
12 "id": "123",
13 "country": "US"
14 }
15 "operationPayload": "kosarb2NyrtIWaegJAH1f6P7XrBYPXYDya5coc_ZzcfiS_5o4QTUAL-CcGRC_Kv4CAtg"
16}'
- Вы получите ответ вида
{token="JWT_TOKEN"}.Добавьте всплывающее окно с уведомлением об успешной авторизации (опционально).
Реализуйте открытие Web Shop в браузере, используя полученный токен пользователя.
- Пример URL-адреса для открытия Web Shop в браузере для авторизованного пользователя:
https://example.com/?token={token}, если вы используете кастомный домен.https://example.xsolla.site/?token={token}, если вы используете домен Xsolla.
- Где
{token} — авторизационный токен пользователя.На стороне Конструктора сайтов
- В проекте в Личном кабинете перейдите в раздел Каналы продаж > Веб-сайты.
- Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
- Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
- Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
- В проекте в аккаунте для мобильных игр перейдите в раздел Web Shop.
- Нажмите Настроить в карточке вашего сайта Web Shop с аутентификацией через ID пользователя.
- Перейдите к блоку Настройки аутентификации и выберите раздел ID пользователя.
- Установите переключатель Авторизация по диплинку в активное положение.
- В поле URL диплинка укажите ссылку для авторизации пользователя.
- Если вы используете блок Быстрый вход на сайте:
- Перейдите к блоку Быстрый вход.
- В секции Настройки блока установите переключатель QR-код в активное положение.
- Для проверки авторизации нажмите Просмотр.
- Для публикации сайта нажмите Опубликовать.
Диплинк — это специальный URL, который ведет пользователя не просто на главную страницу приложения или сайта, а сразу на конкретный раздел, страницу или выполняет определенное действие.
Диплинки позволяют пользователю авторизоваться в Web Shop через игру в один клик, вместо того чтобы проходить процесс авторизации через ID пользователя или через Xsolla Login.
Если у пользователя на мобильном устройстве установлена игра, с помощью диплинка он будет перенаправлен в игру для получения авторизационного токена.
Когда диплинк используется как основной способ входа, он позволяет сохранять платежные данные, чего нельзя сделать при авторизации через ID пользователя. В этом случае диплинк лишь помогает быстрее авторизоваться, но не добавляет новых возможностей.
Сценарий пользователя
В мобильном приложении
- Неавторизованный пользователь в Web Shop нажимает кнопку входа или кнопку покупки. Открывается модальное окно входа через мобильную игру.
- Пользователь нажимает кнопку входа через игру.
- Пользователь автоматически перенаправляется в игру, а оттуда — в Web Shop как авторизованный пользователь.
В настольной версии
- Неавторизованный пользователь в Web Shop нажимает кнопку входа или кнопку покупки. Открывается модальное окно ввода ID пользователя или входа в мобильную версию игры с помощью QR-кода.
- Пользователь сканирует QR-код с помощью мобильного устройства.
- На мобильном устройстве открывается Web Shop.
- Пользователь автоматически перенаправляется в игру, а оттуда — в Web Shop как авторизованный пользователь.
Сценарий взаимодействия сервисов
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant U as Пользователь
participant WS as Web Shop
participant B as Браузер
participant MOS as Мобильная ОС
participant G as Игра
participant LA as Login API
U->>WS: Нажимает кнопку входа через мобильную игру
activate WS
WS->>B: Перенаправляет пользователя по диплинку
activate B
B->>MOS: Выполняет системный вызов для открытия мобильной игры
activate MOS
MOS->>G: Открывает мобильную игру
activate G
G->>LA: Генерирует токен авторизации
activate LA
LA-->>G: Возвращает токен авторизации
deactivate LA
G->>MOS: Выполняет системный вызов для открытия браузера с токеном в URL-адресе
deactivate G
MOS-->>B: Открывает браузер с токеном в URL-адресе
deactivate MOS
B-->>WS: Открывает страницу Web Shop для авторизованного пользователя
deactivate B
WS-->>U: Отображает имя пользователя в заголовке
deactivate WS
Как настроить
На стороне игры
- В настройках вашей игры зарегистрируйте URL-схему для открытия игры через диплинк:
- в приложениях под Android — в файле
AndroidManifest.xml; - в приложениях под iOS — в файле
Info.plist.
- в приложениях под Android — в файле
- После регистрации схемы, когда пользователь авторизуется в Web Shop через игру, по указанному адресу должна открываться игра.
- Пример ссылки, открывающей игру через зарегистрированную URL-схему:
scheme— уникальный идентификатор вашей игры, используемый в пользовательской URL-схеме для открытия приложения и перехода к нужному действию.authorize— действие, которое должно быть выполнено после открытия игры. Используйте название действия, которое соответствует действиям в операционной системе вашего приложения.operationPayload=<VALUE>— параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla.
scheme://authorize?operationPayload=<VALUE>, где:Убедитесь, что параметр operationPayload обрабатывается корректно. Он должен передаваться без изменений — вам не нужно его расшифровывать или формировать самостоятельно.
Если параметр отсутствует или изменен, возникнет ошибка с кодом 400.
- Примеры:
- xml
1<key>CFBundleURLTypes</key>
2 <array>
3 <dict>
4 <key>CFBundleTypeRole</key>
5 <string>Editor</string>
6 <key>CFBundleURLSchemes</key>
7 <array>
8 <string>scheme</string>
9 </array>
10 </dict>
11 </array>

- xml
1<intent-filter>
2 <action android:name="android.intent.action.VIEW" />
3 <category android:name="android.intent.category.DEFAULT" />
4 <category android:name="android.intent.category.BROWSABLE" />
5 <data android:scheme="scheme" android:host="authorize" />
6</intent-filter>
- Реализуйте генерацию авторизационного токена в формате JWT, используя ID пользователя из игры.
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из Личного кабинета. Обязательный. |
settings.projectId | integer | ID проекта в Личном кабинете, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://publisher.xsolla.com/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в Личном кабинете, который указан в разделе Настройки компании > Компания или в адресной строке браузера на любой странице Личного кабинета. URL-адрес имеет вид https://publisher.xsolla.com/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из вашего аккаунта. Обязательный. |
settings.projectId | integer | ID проекта в вашем аккаунте, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://xsolla.com/for/free-to-play-pc/account/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в вашем аккаунте, который указан в разделе Настройки компании или в адресной строке браузера на любой странице вашего аккаунта. URL-адрес имеет вид https://xsolla.com/for/free-to-play-pc/account/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из вашего аккаунта. Обязательный. |
settings.projectId | integer | ID проекта в вашем аккаунте, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://xsolla.com/for/premium-pc-games/account/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в вашем аккаунте, который указан в разделе Настройки компании или в адресной строке браузера на любой странице вашего аккаунта. URL-адрес имеет вид https://xsolla.com/for/premium-pc-games/account/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из вашего аккаунта. Обязательный. |
settings.projectId | integer | ID проекта в вашем аккаунте, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://xsolla.com/for/web-games/account/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в вашем аккаунте, который указан в разделе Настройки компании или в адресной строке браузера на любой странице вашего аккаунта. URL-адрес имеет вид https://xsolla.com/for/web-games/account/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
| Параметр | Тип | Описание |
|---|---|---|
loginId | string | ID варианта авторизации из аккаунта для мобильных игр. Обязательный. |
settings.projectId | integer | ID проекта в аккаунте для мобильных игр, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https://publisher.xsolla.com/<merchantId>/projects/<projectId>. Обязательный. |
settings.merchantId | integer | ID продавца в вашем аккаунте для мобильных игр, который указан в разделе Настройки компании > Компания или в адресной строке браузера на любой странице вашего аккаунта. URL-адрес имеет вид https://xsolla.com/for/mobile-games/account/<merchantId>/. Обязательный. |
user.id | string | ID пользователя в игре. Обязательный. |
user.country | string | Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны. Пример: US |
operationPayload | string | Параметр с информацией для генерации токена при авторизации. Параметр содержит данные в формате Base64 и генерируется на стороне Xsolla. Обязательный. |
Перед первой генерацией авторизационного токена необходимо обратиться к персональному менеджеру проекта или написать на [email protected] для активации настройки токена. Это необходимо для корректной работы безопасного метода авторизации пользователей.
- Пример вызова метода API генерации токена пользователя с использованием библиотеки curl:
- curl
1curl -X 'POST' \
2'https://sb-user-id-service.xsolla.com/api/v1/user-id/token' \
3-H 'Accept: /' \
4-H 'Content-Type: application/json' \
5-d '{
6 "loginId": "string",
7 "settings": {
8 "projectId": 0,
9 "merchantId": 0
10 },
11 "user": {
12 "id": "string",
13 "country": "string",
14 "name": "string",
15 "picture": "string"
16 },
17 "operationPayload": "eyJ4c29sbGF1aWQiOiIzNzE5Nzc5NjU1MDE2Nzc2MzcifQ%3D%3D"
18}'
- Вы получите ответ вида
{token="JWT_TOKEN"}.Добавьте всплывающее окно с уведомлением об успешной авторизации (опционально).
Реализуйте открытие Web Shop в браузере, используя полученный токен пользователя.
- Пример URL-адреса для открытия Web Shop в браузере для авторизованного пользователя:
https://example.com/?token={token}, если вы используете кастомный домен.https://example.xsolla.site/?token={token}, если вы используете домен Xsolla.
- Где
{token} — авторизационный токен пользователя.На стороне Конструктора сайтов
- В проекте в Личном кабинете перейдите в раздел Каналы продаж > Веб-сайты.
- Нажмите Настроить в карточке вашего сайта Web Shop.
- Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
- Нажмите Настроить в карточке вашего сайта Web Shop.
- Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
- Нажмите Настроить в карточке вашего сайта Web Shop.
- Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
- Нажмите Настроить в карточке вашего сайта Web Shop.
- В проекте в аккаунте для мобильных игр перейдите в раздел Web Shop.
- В панели вашего сайта нажмите значок ⋮ и выберите Настроить.
- Перейдите к блоку Настройки аутентификации и выберите раздел Deep link.
- В поле URL диплинка укажите ссылку для авторизации пользователя.
- Если вы используете блок Быстрый вход на сайте:
- Перейдите к блоку Быстрый вход.
- В секции Настройки блока можно настроить стиль отображения кнопки входа через QR-код.
- Для проверки авторизации нажмите Просмотр.
- Для публикации сайта нажмите Опубликовать.
Сценарий пользователя
- Пользователь переходит в Web Shop с настроенной аутентификацией через Xsolla Login.
- Пользователь нажимает кнопку покупки у выбранного товара, кнопку входа в верхней панели или кнопку входа в блоке Быстрый вход.
- Открывается модальное окно со способами авторизации.
- Пользователь переходит к авторизации, при необходимости вводит дополнительные данные.
- Выполняется проверка существования пользователя. Если пользователь существует в игре, он будет авторизован в Web Shop. В противном случае пользователь получит сообщение об ошибке.
Как настроить
- В проекте в Личном кабинете перейдите в раздел Каналы продаж > Веб-сайты.
- В проекте в аккаунте для мобильных игр перейдите в раздел Web Shop.
- В проекте в аккаунте перейдите в раздел Каналы продаж > Веб-сайты.
- В проекте в аккаунте перейдите в раздел Каналы продаж > Веб-сайты.
- В проекте в аккаунте перейдите в раздел Каналы продаж > Веб-сайты.
- В карточке сайта Web Shop с аутентификацией через Xsolla Login нажмите значок ••• и выберите Настроить.
- Нажмите Перейти в конструктор и откройте панель Настройки входа.
- Выберите способ Xsolla Login.
- В блоке Xsolla Login в раскрывающемся списке выберите вариант авторизации:
- существующий — если Xsolla Login уже настроен в вашем проекте;
- Новый вариант Login — если варианта авторизации для Web Shop еще нет.

При первом предпросмотре или публикации сайта в поле Callback URL в настройках варианта авторизации автоматически добавляются ссылки на предпросмотр и домен сайта Web Shop. На эти адреса пользователь перенаправляется в следующих случаях:
- после успешной аутентификации;
- после подтверждения email-адреса;
- после сброса пароля;
- в случае ошибки аутентификации.
При смене домена Web Shop URL-адреса в поле Callback URL изменяются автоматически.
- Настройте социальные сети, через которые пользователи входят в Web Shop (опционально). Подробная инструкция по настройке приведена в разделе Аутентификация пользователя через социальные сети.

- Если вы не хотите хранить данные пользователей на стороне Xsolla, подключите другое хранилище (опционально). Подробная инструкция по настройке хранилища приведена в разделе Подключение хранилища данных пользователя.
От выбранного хранилища зависит доступная функциональность — см. раздел Сравнение хранилищ для данных пользователей.
Сценарий пользователя
- Пользователь впервые переходит в Web Shop с настроенной аутентификацией с привязкой ID пользователя.
- Пользователь нажимает кнопку покупки у выбранного товара, кнопку входа в верхней панели или кнопку входа в блоке Быстрый вход.
- Открывается модальное окно со способами авторизации, настроенными в Xsolla Login.
- Пользователь переходит к авторизации, при необходимости вводит дополнительные данные.

- После успешной авторизации через Xsolla Login открывается модальное окно для привязки ID пользователя из игры.

- Выполняется проверка существования пользователя. Если пользователь с таким ID существует в игре, он будет авторизован в Web Shop. В противном случае пользователь получит сообщение об ошибке.
Как настроить
В вашем приложении реализуйте обработку вебхука для проверки существования пользователя.
При получении вебхука приложение должно выполнять следующие действия:
- Поиск пользователя по полученному в вебхуке ID пользователя.
- Отправка одного из кодов статуса в зависимости от результатов поиска пользователя:
- 200 HTTP-код с ответом вебхука, если пользователь найден;
- 404 HTTP-код, если пользователь с таким ID не зарегистрирован в игре.
- Отправка атрибутов пользователя для персонализации.
- В проекте в Личном кабинете перейдите в раздел Каналы продаж > Веб-сайты.
- В панели нужного сайта нажмите Открыть Site Builder.
- Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
- В панели нужного сайта нажмите Открыть Site Builder.
- Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
- В панели нужного сайта нажмите Открыть Site Builder.
- Откройте ваш проект в аккаунте и перейдите в раздел Каналы продаж > Веб-сайты.
- В панели нужного сайта нажмите Открыть Site Builder.
- В проекте в аккаунте для мобильных игр перейдите в раздел Web Shop.
- Нажмите панель вашего сайта.
- Если ваш сайт содержит несколько страниц, выберите нужную страницу:
- Нажмите на название текущей страницы в верхней части конструктора.
- Выберите страницу из раскрывающегося списка.
- В конструкторе вашего сайта перейдите в блок Настройки входа.
- Выберите вариант Авторизация с привязкой ID пользователя.
- В раскрывающемся списке выберите Новый вариант Login или один из существующих проектов.
- Введите URL-адрес, на который вы хотите получать вебхуки.
https://. Протокол http:// не поддерживается.Вы можете настроить любой вариант авторизации, но для упрощения пользовательского опыта на первом этапе аутентификации мы рекомендуем использовать авторизацию через социальные сети:
a. Откройте ваш проект в Личном кабинете и перейдите в раздел Игроки > Авторизация.
b. Нажмите Настроить в панели нужного проекта Login.
c. Перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
d. Чтобы подключить социальную сеть, в карточке социальной сети нажмите значок ⚙ справа от названия и выберите пункт Подключить.
Вы можете настроить любой вариант авторизации, но для упрощения пользовательского опыта на первом этапе аутентификации мы рекомендуем использовать авторизацию через социальные сети:
a. Откройте проект в вашем аккаунте и перейдите в раздел Игроки > Авторизация. b. Нажмите Настроить в панели нужного проекта Login.
c. Перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
d. Чтобы подключить социальную сеть, в карточке социальной сети нажмите значок ⚙ справа от названия и выберите пункт Подключить.
Вы можете настроить любой вариант авторизации, но для упрощения пользовательского опыта на первом этапе аутентификации мы рекомендуем использовать авторизацию через социальные сети:
a. Откройте проект в вашем аккаунте и перейдите в раздел Игроки > Авторизация. b. Нажмите Настроить в панели нужного проекта Login.
c. Перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
d. Чтобы подключить социальную сеть, в карточке социальной сети нажмите значок ⚙ справа от названия и выберите пункт Подключить.
Вы можете настроить любой вариант авторизации, но для упрощения пользовательского опыта на первом этапе аутентификации мы рекомендуем использовать авторизацию через социальные сети:
a. Откройте проект в вашем аккаунте и перейдите в раздел Игроки > Авторизация. b. Нажмите Настроить в панели нужного проекта Login.
c. Перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
d. Чтобы подключить социальную сеть, в карточке социальной сети нажмите значок ⚙ справа от названия и выберите пункт Подключить.
Вы можете настроить любой вариант авторизации, но для упрощения пользовательского опыта на первом этапе аутентификации мы рекомендуем использовать авторизацию через социальные сети: a. В проекте в аккаунте для мобильных игр перейдите в раздел Другие инструменты > Авторизация.
b. Нажмите Настроить в панели нужного проекта Login.
c. Перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
d. Чтобы подключить социальную сеть, в карточке социальной сети нажмите значок ⚙ справа от названия и выберите пункт Подключить.
Настройка блока Быстрый вход
Блок Быстрый вход позволяет сделать заметным обязательный этап авторизации и упростить переход пользователя к покупке.

Для использования блока Быстрый вход должен быть предварительно выбран вариант авторизации в разделе Настройки входа. Внешний вид блока и его возможности зависят от выбранного способа аутентификации.
Если на сайте настроена аутентификация через ID пользователя, в блоке Быстрый вход отображается поле для ввода ID и кнопка входа.
Возможности:
- Аутентификация пользователя без дополнительного перехода в модальное окно.
- Настройка содержимого блока. Вы можете включить и настроить следующие разделы:
- Заголовок.
- Описание.
- Инструкция, как найти ID пользователя.
- Пользовательский фон.
Вы также можете расширить возможности блока, например добавить текст, кнопку или изображение с помощью JS-кода.
Для способа аутентификации через ID пользователя в разделе Настройки входа также необходимо указать URL-адрес, на который вы хотите получать вебхук. Если не указать его, сайт не может быть опубликован, так как аутентификация пользователей будет недоступна.
Аутентификация пользователей при предварительном просмотре сайта возможна без добавления URL-адреса вебхука.
Блок Быстрый вход автоматически добавляется на сайты, созданные с использованием шаблона Web Shop.
Если в вашем сайте этот блок отсутствует, вы можете добавить его вручную в конструкторе сайтов.
Чтобы добавить блок Быстрый вход:
- В проекте в Личном кабинете перейдите в раздел Каналы продаж > Веб-сайты.
- В разделе Сайты выберите ваш сайт и нажмите Открыть Site Builder.
- В проекте в аккаунте для мобильных игр перейдите в раздел Web Shop.
- Нажмите на карточку вашего сайта.
- Нажмите Добавить блок.
- Выберите блок Быстрый вход.
Продолжить чтение
Полезные ссылки
Способ интеграцииНашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.