Аутентификация через custom ID
Вы можете аутентифицировать пользователей на стороне Xsolla с помощью custom ID (ID пользователя, сформированный на вашем сервере).
Такой способ аутентификации позволяет:
- использовать вашу собственную систему авторизации совместно с продуктами Xsolla;
- реализовать логику кросс-платформенного аккаунта пользователя.
Чтобы аутентифицировать пользователя с помощью custom ID, вам потребуется в серверной части вашего приложения реализовать вызов API-метода Auth by custom ID. Метод возвращает JSON Web Token (JWT) пользователя, который можно использовать как авторизационный токен в методах SDK для проведения платежа и управления инвентарем.
logUserOut
.Инструкции
Вы можете интегрировать SDK с собственной системой авторизации. В этом случае необходимо реализовать идентификацию пользователя по custom ID (ID пользователя, сформированный на вашем сервере) для открытия внутриигрового магазина, проведения платежа и управления инвентарем.
Сценарий взаимодействия c серверами Xsolla при использовании собственной системы авторизации:
- Ваш клиент отправляет на ваш сервер запрос на аутентификацию.
- Ваш сервер аутентифицирует пользователя и отправляет на сервер Xsolla запрос на получение JSON Web Token (JWT) пользователя, передавая custom ID.
- Сервер Xsolla возвращает JWT пользователя.
- Ваш сервер передает JWT пользователя клиенту.
- Полученный JWT пользователя используется методами SDK вместо авторизационного токена для открытия внутриигрового магазина, проведения платежа и управления инвентарем.
Чтобы использовать собственную систему авторизации совместно с продуктами Xsolla:
- В Личном кабинете настройте серверный OAuth 2.0-клиент.
- Реализуйте получение серверного JWT.
- Реализуйте получение JWT пользователя.
- Реализуйте логику работы с внутриигровым магазином, покупками и инвентарем с использованием JWT пользователя.
Настройка серверного OAuth 2.0-клиента
- Откройте проект в Личном кабинете и перейдите в раздел Login.
- Нажмите Настроить в панели нужного варианта авторизации.
- На странице навигации перейдите к блоку Безопасность и выберите раздел OAuth 2.0 аутентификация.
- Нажмите Добавить OAuth 2.0.
- Укажите URI переадресации OAuth 2.0.
- Установите флажок Серверная (соединение server-to-server).
- Нажмите Подключить.
- Скопируйте и сохраните ID клиента и секретный ключ.
Получение серверного JWT
В серверной части вашего приложения реализуйте метод для получения серверного JWT с использованием запроса Generate JWT. Запрос должен содержать следующие параметры:
grant_type
— тип JWT, передайте значениеclient_credentials
;client_secret
— секретный ключ OAuth 2.0-клиента, полученный при настройке серверного OAuth 2.0-клиента;client_id
— ID OAuth 2.0-клиента, полученный при настройке серверного OAuth 2.0-клиента.
Получение JWT пользователя
В серверной части вашего приложения реализуйте метод для получения JWT пользователя с использованием запроса Auth by custom ID. Запрос должен содержать заголовок X-Server-Authorization: <server_JWT>
, где <server_JWT>
— серверный JWT, полученный на предыдущем шаге.
Использование JWT пользователя
Передайте JWT пользователя в методы SDK в качестве авторизационного токена.
Реализуйте получение нового JWT после истечения его срока жизни. Рекомендуется получать новый токен в фоновом режиме, без повторного входа пользователя в приложение.
Полезные ссылки
Последнее обновление: 22 января 2024Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.