SDK для iOS / Аутентификация через custom ID
  На главную

SDK для iOS

Аутентификация через custom ID

Вы можете аутентифицировать пользователей на стороне Xsolla с помощью custom ID (ID пользователя, сформированный на вашем сервере).

Такой способ аутентификации позволяет:

Чтобы аутентифицировать пользователя с помощью custom ID, вам потребуется в серверной части вашего приложения реализовать вызов API-метода Auth by custom ID. Метод возвращает JSON Web Token (JWT) пользователя, который можно использовать как авторизационный токен в методах SDK для проведения платежа и управления инвентарем.

Примечание
При первой аутентификации пользователя с указанным ID новая учетная запись на стороне Xsolla создается автоматически.
Чтобы завершить активную сессию пользователя, используйте метод SDK logUserOut.

Инструкции

Узнайте о дополнительных настройках из наших инструкций.

Как использовать собственную систему авторизации

Вы можете интегрировать SDK с собственной системой авторизации. В этом случае необходимо реализовать идентификацию пользователя по custom ID (ID пользователя, сформированный на вашем сервере) для открытия внутриигрового магазина, проведения платежа и управления инвентарем.

Сценарий взаимодействия c серверами Xsolla при использовании собственной системы авторизации:

  1. Ваш клиент отправляет на ваш сервер запрос на аутентификацию.
  2. Ваш сервер аутентифицирует пользователя и отправляет на сервер Xsolla запрос на получение JSON Web Token (JWT) пользователя, передавая custom ID.
  3. Сервер Xsolla возвращает JWT пользователя.
  4. Ваш сервер передает JWT пользователя клиенту.
  5. Полученный JWT пользователя используется методами SDK вместо авторизационного токена для открытия внутриигрового магазина, проведения платежа и управления инвентарем.

Чтобы использовать собственную систему авторизации совместно с продуктами Xsolla:

  1. В Личном кабинете настройте серверный OAuth 2.0-клиент.
  2. Реализуйте получение серверного JWT.
  3. Реализуйте получение JWT пользователя.
  4. Реализуйте логику работы с внутриигровым магазином, покупками и инвентарем с использованием JWT пользователя.

Примечание
Если вы используете систему авторизации PlayFab или Firebase, реализуйте получение JWT пользователя с помощью готовых расширений Xsolla для BaaS.

Настройка серверного OAuth 2.0-клиента

  1. Откройте проект в Личном кабинете и перейдите в раздел Login.
  2. Нажмите Настроить в панели нужного варианта авторизации.
  3. На странице навигации перейдите к блоку Безопасность и выберите раздел OAuth 2.0 аутентификация.
  4. Нажмите Добавить OAuth 2.0.
  5. Укажите URI переадресации OAuth 2.0.
  6. Установите флажок Серверная (соединение server-to-server).
  7. Нажмите Подключить.
  8. Скопируйте и сохраните ID клиента и секретный ключ.

Получение серверного JWT

В серверной части вашего приложения реализуйте метод для получения серверного JWT с использованием запроса Generate JWT. Запрос должен содержать следующие параметры:

Примечание
Срок жизни серверного JWT — 59 минут.

Получение JWT пользователя

В серверной части вашего приложения реализуйте метод для получения JWT пользователя с использованием запроса Auth by custom ID. Запрос должен содержать заголовок X-Server-Authorization: <server_JWT>, где <server_JWT> — серверный JWT, полученный на предыдущем шаге.

Примечание
Срок жизни JWT пользователя — 24 часа. Чтобы изменить это значение, обратитесь к персональному менеджеру проекта или напишите на integration@xsolla.com.

Использование JWT пользователя

Передайте JWT пользователя в методы SDK в качестве авторизационного токена.

Реализуйте получение нового JWT после истечения его срока жизни. Рекомендуется получать новый токен в фоновом режиме, без повторного входа пользователя в приложение.

Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Скрыть

Полезные ссылки

Последнее обновление: 22 января 2024

Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

Сообщите о проблеме
Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
Укажите email-адрес, чтобы мы могли связаться с вами
Спасибо за обратную связь!