Авторизация / Хранилище PlayFab
 На главную

Авторизация

  • Руководство по интеграции

  • Возможности

  • Инструкции

  • Расширения

  • Справочники

  • Хранилище PlayFab

    При использовании хранилища PlayFab вам доступны:

    Note
    Вы можете использовать методы PlayFab для отправки дополнительных писем пользователям.

    Сценарий взаимодействия

    В качестве клиента вы можете использовать виджет авторизации или ваше приложение. Сценарий взаимодействия клиента и сервера Авторизации Иксолла:

    1. Клиент отправляет запросы на сервер Авторизации Иксолла. Формат запросов описан в группах методов JWT, OAuth 2.0 и Password.
    2. Сервер Авторизации Иксолла отправляет запросы в PlayFab.
    3. Сервер Авторизации Иксолла обрабатывает ответ от PlayFab и возвращает результат клиенту.
    4. Клиент обрабатывает ответ.

    Регистрация пользователя в PlayFab

    Регистрация пользователей выполняется в соответствии со сценарием. Для завершения регистрации вы можете настроить отправку письма для подтверждения аккаунта пользователя.

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

    1. Клиент отправляет запрос Register new user на сервер Авторизации Иксолла.
    2. Сервер Авторизации Иксолла отправляет запрос на регистрацию.
    3. Информация о пользователе записывается в базу данных Иксоллы.
    4. Сервер Авторизации Иксолла отправляет запрос на изменение данных в PlayFab.
    5. Если вы настроили подтверждение аккаунта:
      1. При использовании методов API для интеграции продукта, регистрация считается завершенной.
      2. При использовании виджета авторизации для интеграции продукта, пользователь перенаправляется на страницу с сообщением: Письмо со ссылкой для подтверждения аккаунта отправлено на {email-адрес}.
      Если настройка не выполнена, после регистрации пользователь будет сразу авторизован.

    Подтверждение аккаунта пользователя в PlayFab

    Чтобы настроить отправку письма для подтверждения аккаунта, выполните шаги:

    1. Настройте свой проект в PlayFab в соответствии с инструкцией.
    2. Убедитесь, что шаги Create an email template и Create a rule to send an email when a contact email is updated из раздела Requirements выполнены.
    3. Обратитесь к аккаунт-менеджеру проекта.

    Note
    По умолчанию после регистрации в проекте, который использует хранилище PlayFab, пользователь может авторизоваться в аккаунте без подтверждения своего email-адреса.

    Аутентификация по email-адресу пользователя и паролю

    Доступны два типа аутентификации по email-адресу пользователя и паролю — по стандарту JWT и протоколу OAuth 2.0.

    Note
    Если в базе данных Иксоллы нет записи о пользователе:
    1. Записывается информация о пользователе.
    2. Сервер Авторизации Иксолла отправляет запрос на изменение данных в PlayFab.

    Сценарий аутентификации по стандарту JWT

    1. Клиент отправляет запрос Auth by username and password на сервер Авторизации Иксолла.
    2. Сервер Авторизации Иксолла отправляет запрос на аутентификацию в PlayFab.
    3. Сервер Авторизации Иксолла генерирует JWT пользователя. При этом:
      • Значение PlayFabId из ответа на запрос в PlayFab записывается в поле external_account_id.
      • Значение SessionTicket из ответа на запрос в PlayFab записывается в поле session_ticket.
      • Значения EntityToken из ответа на запрос в PlayFab записываются в поля entity_token, entity_id, entity_type.
    4. Пользователь перенаправляется на login_url с query-параметром token. В параметр token записывается JWT пользователя.

    Сценарий аутентификации по протоколу OAuth 2.0

    1. Клиент отправляет запрос Auth by username and password с параметром redirect_uri на сервер Авторизации Иксолла.
    2. Сервер Авторизации Иксолла отправляет запрос на аутентификацию в PlayFab.
    3. Сервер Авторизации Иксолла возвращает login_url вместе с code в query-параметре и переданным redirect_uri.
    4. Пользователь перенаправляется на redirect_uri с query-параметром code.
    5. Клиент отправляет запрос Generate JWT на сервер Авторизации Иксолла для обмена полученного code на JWT пользователя.
    6. Сервер Авторизации Иксолла генерирует JWT пользователя. При этом:
      • Значение PlayFabId из ответа на запрос в PlayFab записывается в поле external_account_id.
      • Значение SessionTicket из ответа на запрос в PlayFab записывается в поле session_ticket, если в запрос Auth by Username and Password был передан scope=playfab.
      • Значения EntityToken из ответа на запрос в PlayFab записываются в поля entity_token, entity_id, entity_type.

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

    Для аутентификации пользователей через Twitch необходимо настроить социальную сеть в PlayFab. Доступны два типа аутентификации через социальную сеть Twitch — по стандарту JWT и протоколу OAuth 2.0.

    Note
    Если в базе данных PlayFab запись о пользователе привязана к аккаунту Twitch, в базе данных Иксоллы данная запись считается одним аккаунтом.

    Сценарий аутентификации по стандарту JWT

    1. Клиент отправляет запрос Auth via social network на сервер Авторизации Иксолла.
    2. Сервер Авторизации Иксолла отправляет запрос на аутентификацию в PlayFab.
    3. Информация о пользователе записывается в базу данных Иксоллы.
    4. Сервер Авторизации Иксолла генерирует JWT пользователя. При этом:
      • Значение PlayFabId из ответа на запрос в PlayFab записывается в поле external_account_id.
      • Значение SessionTicket из ответа на запрос в PlayFab записывается в поле session_ticket.
      • Значения EntityToken из ответа на запрос в PlayFab записываются в поля entity_token, entity_id, entity_type.
    5. Пользователь перенаправляется на login_url с query-параметром token. В параметр token записывается JWT пользователя.

    Сценарий аутентификации по протоколу OAuth 2.0

    1. Клиент отправляет запрос Auth via social network с параметром redirect_uri на сервер Авторизации Иксолла.
    2. Сервер Авторизации Иксолла отправляет запрос на аутентификацию в PlayFab.
    3. Информация о пользователе записывается в базу данных Иксоллы.
    4. Сервер Авторизации Иксолла отправляет запрос на изменение данных в PlayFab.
    5. Пользователь перенаправляется на redirect_uri с query-параметром code.
    6. Клиент отправляет запрос Generate JWT на сервер Авторизации Иксолла для обмена полученного параметра code на JWT пользователя.
    7. Сервер Авторизации Иксолла генерирует JWT пользователя. При этом:
      • Значение PlayFabId из ответа на запрос в PlayFab записывается в поле external_account_id.
      • Значение SessionTicket из ответа на запрос в PlayFab записывается в поле session_ticket, если в запрос на аутентификацию в Twitch был передан scope=playfab.
      • Значения EntityToken из ответа на запрос в PlayFab записываются в поля entity_token, entity_id, entity_type.

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

    1. Зарегистрируйте аккаунт Twitch и получите Twitch Client ID.
    2. Откройте ваш проект в Личном кабинете.
    3. Нажмите Авторизация в боковом меню и перейдите в раздел Варианты авторизации > ваш вариант авторизации > Социальные сети.
    4. Подключите Twitch.tv, указав Twitch Client ID в поле Application ID.
    5. Настройте Twitch в личном кабинете PlayFab как описано в инструкции.
    6. Если вы интегрировали продукт Авторизация через методы API:
      1. Получите ссылку для аутентификации через Twitch. Для этого используйте метод аутентификации через социальные сети (JWT или OAuth 2.0).
      2. Разместите полученную ссылку в вашем интерфейсе.

    Сброс пароля пользователя

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

    1. Клиент отправляет запрос Reset password на сервер Авторизации Иксолла.
    2. Сервер Авторизации Иксолла отправляет запрос на сброс пароля в PlayFab.
    3. Обновленный пароль записывается в базу данных PlayFab.

    Блокировка пользователя

    Вы можете заблокировать пользователя через Личный кабинет. Заблокированный пользователь не сможет пройти аутентификацию. Запись о блокировке сохранится только на стороне Иксоллы.

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

    В другой раз

    Спасибо за обратную связь!

    Продолжить чтение

    Последнее обновление: 25 июня 2021

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

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