Бесшовная аутентификация по токену социальной сети
Когда использовать
Используйте бесшовную аутентификацию по токену, если у игрового клиента или приложения уже есть валидный токен доступа социальной сети. Вместо редиректа через браузер клиент за один запрос обменивает этот токен на учетные данные Xsolla Login. В зависимости от протокола в ответе возвращается JWT (в протоколе JWT) или URL-адрес для входа с кодом авторизации (в протоколе OAuth 2.0). Бесшовная аутентификация подходит для следующих случаев:
- При переходе из игры в веб-магазин, когда игрок уже вошел в соцсеть внутри игрового клиента.
- При входе в десктопные и консольные приложения, где открытие браузера невозможно или неудобно для пользователя.
Бесшовная аутентификация по токену работает для следующих социальных сетей: Xsolla, Facebook, Google, LinkedIn, Twitter, Discord, Naver, Baidu, Battle.net, WeChat, QQ.
Если у клиента нет токена доступа социальной сети (например, пользователь еще не авторизовался в ней), бесшовный сценарий не подойдет. Для таких случаев реализуйте сценарий с редиректом через браузер с помощью следующих методов:
Сравнение бесшовной аутентификации и редиректа через браузер
| Редирект через браузер | Бесшовная аутентификация по токену | |
|---|---|---|
| Пользовательский опыт | Игра открывает браузер со страницей входа социальной сети. Пользователь авторизуется и перенаправляется обратно в игру. | Игра передает токен социальной сети, и пользователь авторизуется автоматически. Браузер не открывается. |
| Автоматическая авторизация из игры | Нет — пользователю нужно перейти в браузер. | Да. |
При бесшовной аутентификации Xsolla Login принимает токен доступа социальной сети, который уже есть у клиента, валидирует его через API социальной сети, находит соответствующего пользователя или создает нового, и возвращает JWT или URL-адрес для входа — все происходит за один запрос, без участия браузера.
Бесшовная аутентификация по токену социальной сети:
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant G as Game client
participant X as Xsolla Login
participant B as Social network
G->>X: Sends Auth via access token of social network call
X->>B: Validates access token
B-->>X: Confirms token validity
X-->>G: Returns JWT / Login URL
Редирект через браузер:
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant G as Game client
participant X as Xsolla Login
participant B as Social network
G->>X: Sends Auth via social network call
X->>B: Redirects to login page
B->>G: Displays login form
G->>B: Submits credentials
B->>X: Returns callback with code
X-->>G: Returns JWT / Login URL
Методы API для бесшовной аутентификации
Чтобы реализовать бесшовную аутентификацию по токену социальной сети, используйте следующие методы API, в зависимости от выбранного протокола аутентификации:
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.