Web Shop / Настройка аутентификации через диплинк
  На главную

Web Shop

Настройка аутентификации через диплинк

Диплинки позволяют пользователю авторизоваться в Web Shop через игру в один клик, вместо того чтобы проходить процесс авторизации через ID пользователя или через Xsolla Login.

Если у пользователя на мобильном устройстве установлена игра, с помощью диплинка он будет перенаправлен в игру для получения авторизационного токена.

Сценарий пользователя

  1. Неавторизованный пользователь в Web Shop нажимает кнопку входа или кнопку покупки. Открывается модальное окно ввода ID пользователя или входа через мобильную игру.
  1. Пользователь нажимает кнопку входа через игру.
  2. Пользователь перенаправляется в игру, после чего автоматически перенаправляется в Web Shop как авторизованный пользователь.

  1. Неавторизованный пользователь в Web Shop нажимает кнопку входа или кнопку покупки. Открывается модальное окно ввода ID пользователя или входа в мобильную версию игры с помощью QR-кода.

  1. Пользователь сканирует QR-код с помощью мобильного устройства, после чего на мобильном устройстве пользователя открывается Web Shop.
  2. На мобильном устройстве пользователя открывается игра.
  3. Пользователь автоматически перенаправляется в Web Shop на мобильном устройстве как авторизованный пользователь.
  1. В настройках вашей игры зарегистрируйте URL-схему для открытия игры через диплинк:
    • в приложениях под Android — в файле AndroidManifest.xml;
    • в приложениях под iOS — в файле Info.plist.
После регистрации схемы, когда пользователь авторизуется в Web Shop через игру, по указанному адресу должна открываться игра. Пример URL-схемы для регистрации игры: gamename://authorize, где:
  • gamename — название вашей игры, которая должна открываться на мобильном устройстве для авторизации пользователя;
  • authorize — пример названия действия, которое должно быть выполнено после открытия игры gamename. Используйте название действия, которое соответствует действиям в операционной системе вашего приложения.
Пример регистрации URL-схемы в приложениях под iOS:
Copy
Full screen
Small screen
    <key>CFBundleURLTypes</key>
      <array>
        <dict>
          <key>CFBundleTypeRole</key>
          <string>Editor</string>
          <key>CFBundleURLSchemes</key>
          <array>
            <string>gamename</string>
          </array>
        </dict>
      </array>
    

    Пример регистрации URL-схемы в приложениях под Android:

    Copy
    Full screen
    Small screen
      <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <data android:scheme="gamename" android:host="authorize" />
      </intent-filter>
      

      1. Реализуйте генерацию авторизационного токена в формате JWT, используя ID пользователя из игры.

      ПараметрТипОписание
      stringID варианта авторизации из Личного кабинета. Обязательный.
      stringURL-адрес для получения вебхука Проверка пользователя в Web Shop. URL-адрес должен совпадать с адресом, указанным при настройке аутентификации через ID пользователя. Xsolla ожидает в ответ на вебхук 200 HTTP-код, чтобы авторизовать пользователя в Web Shop. Если Xsolla получит ответ с 404 HTTP-кодом или не получит ответ, пользователь авторизован не будет.

      Вы можете указать значение "webhookUrl": "https://nowebhook.com", чтобы отправка вебхука при аутентификации через диплинк была отключена. В этом случае проверка существования пользователя на стороне Xsolla не выполняется, поэтому убедитесь, что в параметре user.id вы передаете ID пользователя, который существует в игре.
      Обязательный.
      stringID проекта в Личном кабинете, который указан рядом с названием вашего проекта или в адресной строке браузера. URL-адрес имеет вид https:​//publisher.xsolla.com/merchant ID/Publisher Account section. Обязательный.
      stringID пользователя в игре. Обязательный.
      stringИмя пользователя. Обязательный.

      Пример вызова метода API генерации токена пользователя с использованием библиотеки curl:

      Copy
      Full screen
      Small screen
      curl --location 'https://sb-user-id-service.xsolla.com/api/v1/user-id' \
      --header 'Content-Type: application/json' \
      --data '{
       "loginId": "000001aa-001a-0ab0-00001-01a01a01a01a",
       "webhookUrl": "https://nowebhook.com",
       "settings": {
         "projectId": 123456,
         "merchantId": 123456
       },
       "user": {
         "id": "123",
         "name": "a-user-name"
       }
      }'
      

      Вы получите ответ вида {token=“JWT_TOKEN”}.

      1. Добавьте всплывающее окно с уведомлением об успешной авторизации (опционально).
      2. Реализуйте открытие Web Shop в браузере, используя полученный токен пользователя.

      Пример создания URL-адреса для открытия Web Shop в браузере для авторизованного пользователя:

      • https:​//example.com/?token={token}, если вы используете кастомный домен.
      • https:​//example.xsollasitebuilder.com/?token={token}, если вы используете домен Xsolla.
      Где {token} — авторизационный токен пользователя.Вы можете выполнить настройки на стороне Конструктора сайта самостоятельно, используя примеры кода, приведенные ниже.
      За помощью в настройке обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.
      Примечание
      Предварительно настройте аутентификацию через ID пользователя. Это необходимо для того, чтобы у пользователей был альтернативный способ аутентификации, если аутентификация через диплинк недоступна. Например, если на мобильном устройстве не установлена игра.
      1. Откройте проект в Личном кабинете.
      2. В боковом меню нажмите Конструктор сайтов.
      3. Нажмите Настроить в карточке вашего сайта Web Shop с аутентификацией через ID пользователя.
      4. Перейдите к блоку Настройки аутентификации и выберите раздел ID пользователя.
      5. Установите переключатель Авторизация по диплинку в положение Вкл.
      1. В поле URL диплинка укажите ссылку для авторизации пользователя.
      1. Если вы используете блок Быстрый вход на сайте:
        1. Перейдите к блоку Быстрый вход.
        2. В секции Настройки блока установите переключатель QR-код в положение Вкл.
      1. Для проверки авторизации нажмите Просмотр.
      2. Для публикации сайта нажмите Опубликовать.
      Была ли статья полезна?
      Спасибо!
      Что может сделать страницу еще лучше? Сообщение
      Жаль, что так произошло
      Расскажите, почему статья не была полезна. Сообщение
      Спасибо за обратную связь!
      Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
      Последнее обновление: 22 августа 2024

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

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