Как интегрировать аутентификацию пользователя через аккаунт Xsolla
Как это работает
Вы можете добавить аутентификацию пользователя с помощью учетной записи Xsolla в Xsolla Wallet.
Сценарии пользователя
Вы можете реализовать один из следующих сценариев пользователя:
- С открытием страницы авторизации Xsolla Wallet в модальном окне по нажатию на кнопку Аккаунт Xsolla в виджете авторизации:
- Пользователь нажимает на кнопку Войти с Xsolla в виджете авторизации.
- Происходит переадресация на экран авторизации Xsolla Wallet. Экран авторизации открывается в модальном окне.
- Пользователь проходит авторизацию на стороне Xsolla Wallet.
- Происходит переадресация на страницу, URL-адрес которой указан в Личном кабинете в поле Callback URL.
- С переадресацией на страницу авторизации Xsolla Wallet по нажатию на кнопку Войти с Xsolla в виджете авторизации:
- Пользователь нажимает на кнопку Войти с Xsolla в виджете авторизации.
- Происходит переадресация на экран авторизации Xsolla Wallet. Экран авторизации открывается в том же окне.
- Пользователь проходит авторизацию на стороне Xsolla Wallet.
- Происходит переадресация на страницу, URL-адрес которой указан в Личном кабинете в поле Callback URL.
- Переадресацией на страницу авторизации Xsolla Wallet во всплывающем окне по нажатию на кнопки на вашем сайте:
- Пользователь нажимает на кнопку на вашем сайте.
- Происходит переадресация на экран авторизации Xsolla Wallet. Экран авторизации открывается во всплывающем окне.
- Пользователь проходит авторизацию на стороне Xsolla Wallet.
- Происходит переадресация на страницу, URL-адрес которой указан в Личном кабинете в поле Callback URL.
Как настроить
Чтобы интегрировать аутентификацию через Xsolla как социальную сеть:
- Создайте клиент OAuth 2.0 аккаунта Xsolla .
- Интегрируйте виджет авторизации.
- Подключите Xsolla как социальную сеть.
- Реализуйте получение авторизационного токена пользователя.
Создание клиента OAuth 2.0 аккаунта Xsolla
Чтобы создать клиент OAuth 2.0 аккаунта Xsolla:- Создайте проект в Личном кабинете.
- Настройте вариант авторизации в Личном кабинете.
- Обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com и предоставьте следующие данные:
Параметр | Тип | Пример | Описание |
---|---|---|---|
Redirect URIs | Массив строк | [“https://example.com/oauth/callback”, “http://localhost:3000/oauth/callback”] | Список URI-адресов, которые могут быть использованы для перенаправления пользователя после аутентификации через аккаунт Xsolla. |
Audience | Строковый | “https://example.com” | Домен, на котором пользователи смогут аутентифицироваться с помощью аккаунта Xsolla. |
Scope | Массив строк | [“email”, “transactions”] | Список разрешений для аккаунта Xsolla. |
- Интеграционная команда Xsolla создаст клиент OAuth 2.0 аккаунта Xsolla для вас и предоставит его ID и секретный ключ. Эти данные необходимы для получения авторизационного токена пользователя.
Интеграция виджета авторизации
Интегрируйте виджет Xsolla Login с помощью SDK.Подключение Xsolla как социальной сети
- Откройте проект в Личном кабинете и перейдите в раздел Login.
- Нажмите Настроить в панели нужного варианта авторизации.
- Перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
- В списке социальных сетей найдите панель Xsolla.
- Нажмите значок ⚙ и выберите пункт Настройки.
- Заполните следующие поля:
- ID приложения — ID клиента OAuth 2.0 аккаунта Xsolla, который вы получили от Xsolla.
- Секретный ключ приложения — ключ клиента OAuth 2.0 аккаунта Xsolla, который вы получили от Xsolla.
- Ссылка на сайт — сайт, с которого будут приходить запросы на обмен кода авторизации на авторизационный токен пользователя. Укажите тот же URL-адрес, который был указан в качестве параметра Audience при создании клиента OAuth 2.0 аккаунта Xsolla.
- Нажмите Connect.
- Настройте один из сценариев пользователя:
- С переадресацией на страницу авторизации Xsolla Wallet по нажатию на кнопку Войти с Xsolla в виджете авторизации (по умолчанию):
- Перейдите к блоку Аутентификация и выберите раздел Настройки Callback URL.
- В поле Callback URL введите URL-адрес страницы, на которую необходимо перенаправить пользователя после аутентификации.
- В коде виджета в параметре
callbackUrl
передайте URL-адрес страницы, на которую необходимо перенаправить пользователя после аутентификации.
- С переадресацией на страницу авторизации Xsolla Wallet по нажатию на кнопку Войти с Xsolla в виджете авторизации (по умолчанию):
Пример кода виджета:
- javascript
import { Widget } from '@xsolla/login-sdk';
const xl = new Widget({
projectId: '[Login ID]',
preferredLocale: 'en_US',
callbackUrl: '[Your Callback URL]',
});
- С переадресацией на страницу авторизации Xsolla Wallet во всплывающем окне по нажатию на кнопку на вашем сайте:
- Перейдите к блоку Аутентификация и выберите раздел Настройки Callback URL.
- Убедитесь, что в области Callback URL добавлены следующие значения:
https://login-widget.xsolla.com/latest/babka-auth-succeed
;https://login.xsolla.com/api/social/oauth2/callback
.
- В коде виджета передайте значение
true
в параметреbabkaLoginPopup
, в параметреcallbackUrl
передайте URL-адрес страницы, на которую необходимо перенаправить пользователя после аутентификации.
- С переадресацией на страницу авторизации Xsolla Wallet во всплывающем окне по нажатию на кнопку на вашем сайте:
Пример кода виджета:
- javascript
import { Widget } from '@xsolla/login-sdk';
const xl = new Widget({
projectId: '[Login ID]',
preferredLocale: 'en_US',
babkaLoginPopup: true,
callbackUrl: '[Your Callback URL]',
});
- Добавьте на ваш сайт кнопку, вызывающую страницу авторизации Xsolla Wallet.
Пример кода для кнопки Войти с Xsolla:
- html
<div id="xl_auth"></div>
<button onclick="xl.open()">Babka Login Popup</button>
- С открытием страницы авторизации Xsolla Wallet в модальном окне по нажатию на кнопку Войти с Xsolla в виджете авторизации:
- Перейдите к блоку Аутентификация и выберите раздел Настройки Callback URL.
- В поле Callback URL введите URL-адрес страницы, на которую необходимо перенаправить пользователя после аутентификации.
- В коде виджета передайте значение
popup
в параметреbabkaLoginFlow
, в параметреcallbackUrl
передайте URL-адрес страницы, на которую необходимо перенаправить пользователя после аутентификации.
- С открытием страницы авторизации Xsolla Wallet в модальном окне по нажатию на кнопку Войти с Xsolla в виджете авторизации:
Пример кода виджета:
- javascript
import { Widget } from '@xsolla/login-sdk';
const xl = new Widget({
projectId: '[Login ID]',
preferredLocale: 'en_US',
babkaLoginFlow: popup,
callbackUrl: '[Your Callback URL]',
});
Получение авторизационного токена пользователя
После авторизации на стороне Xsolla, пользователь будет переадресован на URL-адрес, указанный в параметре callback_url
. В параметре token
передается авторизационный токен пользователя.
Чтобы внутри авторизационного токена пользователя передавать токен OAuth 2.0 аккаунта Xsolla :
- Откройте проект в Личном кабинете и перейдите в раздел Login.
- Нажмите Настроить в панели нужного варианта авторизации.
- Перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
- Установите переключатель Встраивать JWT токен социальной сети в положение Вкл.
- Нажмите Сохранить изменения.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.