Аутентификация через custom ID
Вы можете аутентифицировать пользователей на стороне Иксоллы с помощью custom ID (ID пользователя, сформированный на вашем сервере).
Такой способ аутентификации позволяет:
- использовать вашу собственную систему авторизации совместно с продуктами Иксоллы;
- реализовать логику кросс-платформенного аккаунта пользователя.
Чтобы аутентифицировать пользователя с помощью custom ID, вам потребуется в серверной части вашего приложения реализовать вызов API-метода Auth by custom ID. Метод возвращает JSON Web Token (JWT) пользователя, который можно использовать как авторизационный токен в методах SDK для проведения платежа и управления инвентарем.
Чтобы завершить активную сессию пользователя, используйте метод SDK OAuthLogout
.
Инструкции
Вы можете интегрировать SDK с собственной системой авторизации. В этом случае необходимо реализовать идентификацию пользователя по custom ID (ID пользователя, сформированный на вашем сервере) для открытия внутриигрового магазина, проведения платежа и управления инвентарем.
Сценарий взаимодействия c серверами Иксоллы при использовании собственной системы авторизации:
- Ваш клиент отправляет на ваш сервер запрос на аутентификацию.
- Ваш сервер аутентифицирует пользователя и отправляет на сервер Иксоллы запрос на получение JSON Web Token (JWT) пользователя, передавая custom ID.
- Сервер Иксоллы возвращает JWT пользователя.
- Ваш сервер передает JWT пользователя клиенту.
- Полученный JWT пользователя используется методами SDK вместо авторизационного токена для открытия внутриигрового магазина, проведения платежа и управления инвентарем.
Чтобы использовать собственную систему авторизации совместно с продуктами Иксоллы:
- В Личном кабинете настройте серверный OAuth 2.0-клиент.
- Реализуйте получение серверного JWT.
- Реализуйте получение JWT пользователя.
- Реализуйте логику работы с внутриигровым магазином, покупками и инвентарем с использованием JWT пользователя.
Настройка серверного OAuth 2.0-клиента
- Откройте ваш проект в Личном кабинете и перейдите в раздел Авторизация.
- Нажмите Настроить в панели нужного варианта авторизации.
- На странице навигации перейдите к блоку Безопасность и выберите раздел 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
— идентификатор OAuth 2.0-клиента, полученный при настройке серверного OAuth 2.0-клиента.
Получение JWT пользователя
В серверной части вашего приложения реализуйте метод для получения JWT пользователя с использованием запроса Auth by custom ID. Запрос должен содержать заголовок X-Server-Authorization: <server_JWT>
, где <server_JWT>
— серверный JWT, полученный на предыдущем шаге.
Использование JWT пользователя
Используйте методы SDK для открытия внутриигрового магазина, проведения платежа и управления инвентарем, при этом передайте JWT пользователя в свойство Token.Instance
.
Примеры использования токена приведены в обучающих инструкциях:
- Продажа виртуальных предметов за реальную валюту.
- Продажа виртуальных предметов за виртуальную валюту.
- Отображение баланса виртуальной валюты.
- Отображение предметов в инвентаре.
Реализуйте получение нового JWT пользователя после истечения его срока жизни. Рекомендуется получать новый токен в фоновом режиме, без повторного входа пользователя в приложение.
Полезные ссылки
Последнее обновление: 10 октября 2023Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.