SDK для Unity (ПК, веб) / Аутентификация пользователя через социальные сети 
  На главную

SDK для Unity (ПК, веб)

Аутентификация пользователя через социальные сети

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

Coциальные сети:

  • Аутентификация с помощью веб-сервисов. В этом случае приложение открывает в браузере форму для подтверждения аутентификации через выбранную социальную сеть. Способ подходит как для мобильных, так и для настольных приложений.
  • Нативная аутентификация. В этом случае аутентификация выполняется через приложение социальной сети на устройстве пользователя. Способ подходит только для мобильных приложений.

Примечание
Чтобы аутентифицировать пользователей вашего iOS-приложения с помощью Apple ID, Face ID или Touch ID реализуйте аутентификацию с помощью веб-сервисов. В этом случае методы SDK используют нативные библиотеки для iOS.

Социальные сети могут быть как основным способом аутентификации в вашем приложении, так и альтернативным.

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

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

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

Инструкции

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

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

Поддерживается авторизация через следующие социальные сети:

  • Amazon
  • Apple
  • Baidu
  • Battle.net
  • Discord
  • Facebook
  • GitHub
  • Google
  • Kakao
  • LinkedIn
  • MSN
  • Mail.ru
  • Microsoft
  • Naver
  • Odnoklassniki
  • PayPal
  • QQ
  • Reddit
  • Steam
  • Twitch.tv
  • Twitter
  • VK
  • Vimeo
  • WeChat
  • Weibo
  • Xbox Live
  • Yahoo
  • Yandex
  • YouTube

Чтобы настроить аутентификацию через веб-сервисы:

  1. В интерфейсе приложения добавьте кнопки для аутентификации через социальные сети.
  2. Настройте социальные сети для выбранного варианта авторизации в Личном кабинете.
  3. Реализуйте логику аутентификации на стороне приложения.

Настройка социальных сетей для варианта авторизации в Личном кабинете Xsolla

Внимание
В Личном кабинете для варианта авторизации, который вы используете в своем приложении, должен быть выбран способ — Классическая авторизация или Авторизация через социальные сети. Вы можете изменить способ авторизации по ссылке Изменить метод авторизации. Ранее сохраненные настройки останутся без изменений.
  1. Откройте ваш проект в Личном кабинете.
  2. В боковом меню выберите пункт Авторизация.
  3. Нажмите Настроить в панели нужного варианта авторизации.
  4. На странице навигации перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
  1. Подключите социальные сети, через которые пользователи смогут регистрироваться и входить в приложение. Это можно сделать одним из следующих способов:
    • Чтобы подключить нужную социальную сеть, нажмите значок ⚙ и выберите пункт Подключить.
    • Чтобы подключить сразу несколько социальных сетей, выберите нужные панели (рамки панелей станут зелеными). Затем в раскрывающемся меню Управление выберите пункт Подключить.
    • Чтобы подключить сразу все доступные социальные сети, нажмите Выбрать все. Затем в раскрывающемся меню Управление выберите пункт Подключить.
Примечание
По умолчанию при аутентификации используются ID и секретный ключ приложения Иксоллы. Если ваше приложение настроено в личном кабинете разработчика социального провайдера, вы можете указать собственные ID и секретный ключ приложения. Подробную инструкцию по получению ID и секретного ключа можно найти в настройках карточки социальной сети в Личном кабинете.

Интеграция на стороне приложения

Реализуйте следующую логику при нажатии кнопки аутентификации через социальную сеть:

  1. Для настольных приложений:
    1. Получите URL-адрес страницы регистрации/авторизации с помощью метода SDK GetSocialNetworkAuthUrl.
    2. Откройте страницу регистрации/авторизации в браузере с помощью метода BrowserHelper.Instance.InAppBrowser.
    3. Подпишитесь на событие изменения URL-адреса, для этого добавьте функцию обратного вызова BrowserHelper.Instance.InAppBrowser.AddUrlChangeHandler(OnUrlChanged).
    4. Отследите изменение URL-адреса страницы после успешной аутентификации пользователя.
    5. Получите код аутентификации из URL-адреса активной страницы. Для этого вы можете использовать вспомогательный метод SDK ​​ParseUtils.TryGetValueFromUrl().
    6. Обменяйте код аутентификации на токен с помощью метода SDK ExchangeCodeToToken и используйте его в запросах к серверам Иксоллы. ​
Примечание

Пример реализации описанной логики приведен в демопроекте в скрипте Assets/Xsolla.Demo/Login/Scripts/Login/Auth/SocialAuth.cs.

Аутентификация через социальные сети недоступна с помощью внешнего браузера. В состав SDK включен встроенный браузер для настольных приложений, разработанный Иксоллой. Вы можете использовать его или любой другой браузер, позволяющий отслеживать изменения URL-адресов.

  1. Для Android-приложений:
    1. Создайте объект класса AndroidSDKSocialAuthHelper.
    2. Вызовите метод PerformSocialAuth, передав в него параметры:
      • SocialProvider — название социальной сети;
      • onSuccess — функция, которая вызывается в случае успешной аутентификации пользователя;
      • onCancelled — функция, которая вызывается в случае отмены аутентификации пользователем;
      • onError — функция, которая вызывается в случае ошибки.
    3. Получите токен, который функция onSuccess вернет в параметре token, и используйте его в запросах к серверам Иксоллы.
Примечание
Пример реализации описанной логики приведен в демопроекте в скрипте Assets/Xsolla.Demo/Login/Scripts/Login/Auth/AndroidSocialAuth.cs.
  1. Для iOS-приложений:
    1. Создайте объект класса IosSDKSocialAuthHelper.
    2. Вызовите метод PerformSocialAuth, передав в него параметры:
      • SocialProvider — название социальной сети;
      • onSuccess — функция, которая вызывается в случае успешной аутентификации пользователя;
      • onCancelled — функция, которая вызывается в случае отмены аутентификации пользователем;
      • onError — функция, которая вызывается в случае ошибки.
    3. Получите токен, который функция onSuccess вернет в поле access_token объекта LoginOAuthJsonResponse, и используйте его в запросах к серверам Иксоллы.
Примечание
Пример реализации описанной логики приведен в демопроекте в скрипте Assets/Xsolla.Demo/Login/Scripts/Login/Auth/IosSocialAuth.cs.
Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Скрыть

Как настроить нативную аутентификацию через социальные сети

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

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

В настоящее время для SDK реализована нативная авторизация через следующие социальные сети:

  • Google
  • Facebook
  • WeChat
  • QQ

Чтобы настроить нативную авторизацию:

  1. В интерфейсе приложения добавьте кнопки для аутентификации через социальные сети.
  2. Создайте сборку вашего проекта Unity под Android.
  3. Настройте приложение в личном кабинете разработчика социальной сети:
    1. Для авторизации через Facebook:
      1. Зарегистрируйтесь и создайте новое приложение.
      2. Настройте страницу приложения в личном кабинете разработчика Facebook.
    2. Для авторизации через Google настройте проект в Google API Console.
    3. Для авторизации через WeChat:
      1. Зарегистрируйтесь и создайте новое мобильное приложение.
      2. Отправьте приложение на проверку.
    4. Для авторизации через QQ:
      1. Зарегистрируйтесь и создайте новое мобильное приложение.
      2. Отправьте приложение на проверку.

  1. Настройте авторизацию через социальные сети на стороне Иксоллы:
    1. Для Facebook и Google настройте социальные сети в Личном кабинете.
    2. Для WeChat и QQ обратитесь к аккаунт-менеджеру проекта.
  2. Настройте ассет для вашего проекта Unity.
  3. Реализуйте логику аутентификации на стороне приложения.

Создание сборки проекта Unity под Android

  1. Перейдите к вашему проекту Unity.
  2. В главном меню выберите пункт File > Build settings.
  3. В панели Platform выберите пункт Android.
  4. Нажмите Build.

Для дальнейшей настройки нативной авторизации вам понадобятся:

  • Название пакета, которое можно найти в поле Package Name в панели Inspector после выбора платформы Android в File > Build settings.
  • Имя класса Android — название главной Activity с указанием неймспейса приложения (например, com.domain.appname.activity). Имя класса можно найти в AndroidManifest.xml. Тег главной Activity должен содержать тег intent-filter с действием android.intent.action.MAIN и категорией android.intent.category.LAUNCHER.
  • Хеш-ключ Android. Вы можете получить его с помощью OpenSSL.

Настройка страницы приложения в личном кабинете разработчика Facebook

  1. Перейдите к настройкам приложения в личном кабинете разработчика Facebook.
  2. Перейдите Настройки > Основное.
  3. Нажмите Добавить платформу и выберите Android.
  4. В поле Название пакета Google Play укажите название пакета из вашего проекта Unity.
  5. В поле Название класса укажите имя класса Android из вашего проекта Unity.
  6. В поле Ключевые хеш-адреса укажите хеш-ключ Android из вашего проекта Unity.
  7. Нажмите Сохранить изменения.

Для дальнейшей настройки нативной авторизации вам понадобятся Идентификатор приложения и Секрет приложения, которые можно найти в настройках приложения в разделе Настройки > Основное.

Настройка проекта в Google API Console

  1. Перейдите в Google API Console.
  2. Нажмите Создать проект.
  3. Укажите Название проекта и Местоположение, нажмите Создать.
  4. Перейдите в созданный проект и в боковом меню нажмите Окно запроса доступа OAuth.
  5. Установите флажок Внешнее и нажмите Создать.
  6. Укажите необходимые параметры и нажмите Сохранить.
  7. В боковом меню выберите Учетные данные.
  8. Создайте клиент OAuth 2.0 для вашего приложения на Unity:
    1. Нажмите Создать учетные данные и выберите Идентификатор проекта OAuth.
    2. В поле Тип приложения укажите Android.
    3. Укажите Имя.
    4. В поле Название пакета укажите имя пакета из вашего проекта Unity.
    5. В поле Контрольная сумма сертификата SHA-1 укажите хеш-ключ Android из вашего проекта Unity.
    6. Нажмите Создать.
    7. Нажмите OK.
  1. Создайте клиент OAuth 2.0 для веб-приложения:
    1. Нажмите Создать учетные данные и выберите пункт Идентификатор проекта OAuth.
    2. В поле Тип приложения укажите Веб-приложение.
    3. Укажите Имя.
    4. Нажмите Добавить URI в разделе Разрешенные URI перенаправления и укажите URI https://login.xsolla.com/api/social/oauth2/callback.
    5. Нажмите Создать.
    6. Нажмите OK.

Для дальнейшей настройки нативной авторизации вам понадобятся Идентификатор клиента и Секретный код клиента, которые можно найти в настройках идентификатора клиента для веб-приложения.

Настройка социальных сетей для варианта авторизации в Личном кабинете Xsolla

Внимание
В Личном кабинете для варианта авторизации, который вы используете в своем приложении, должен быть выбран способ — Классическая авторизация или Авторизация через социальные сети. Вы можете изменить способ авторизации по ссылке Изменить метод авторизации. Ранее сохраненные настройки останутся без изменений.
  1. Откройте ваш проект в Личном кабинете.
  2. В боковом меню выберите пункт Авторизация.
  3. Нажмите Настроить в панели нужного варианта авторизации.
  4. На странице навигации перейдите к блоку Аутентификация и выберите раздел Авторизация через социальные сети.
  1. Чтобы подключить социальную сеть, в карточке социальной сети нажмите значок ⚙ справа от названия и выберите пункт Подключить.
Примечание
Для использования авторизации через социальные сети в вашем проекте укажите ID и секретный ключ вашего приложения в настройках карточки социальной сети. ID и секретный ключ приложения находятся в аккаунте разработчика социального провайдера. Подробную инструкцию по получению ID и секретного ключа можно найти в настройках карточки социальной сети в Личном кабинете.

Настройка ассета для проекта Unity

  1. Перейдите к вашему проекту Unity.
  2. В главном меню выберите пункт Window > Xsolla > Edit Settings.
  3. Укажите идентификатор приложения:
    1. В поле Facebook App ID укажите Идентификатор приложения из личного кабинета разработчика Facebook.
    2. В поле Google server ID укажите Идентификатор клиента из Google API Console для веб-приложения.
    3. В поле WeChat App ID укажите AppID из настроек приложения WeChat.
    4. В поле QQ App ID укажите AppID из настроек приложения QQ.

Интеграция на стороне приложения

Реализуйте следующую логику при нажатии кнопки аутентификации через социальную сеть:

  • Для Android-приложения создайте экземпляр класса AndroidSDKSocialAuthHelper и вызовите метод PerformSocialAuth. Пример реализации приведен в демопроекте в скрипте Assets/Xsolla.Demo/Login/Scripts/Login/Auth/AndroidSocialAuth.cs.
  • Для iOS-приложения создайте экземпляр класса IosSDKSocialAuthHelper и вызовите метод PerformSocialAuth. Пример реализации приведен в демопроекте в скрипте Assets/Xsolla.Demo/Login/Scripts/Login/Auth/IosSocialAuth.cs.
Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Скрыть

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

Последнее обновление: 10 октября 2023

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

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