SDK для Android / Аутентификация пользователя через социальные сети 
 На главную

SDK для Android

  • Библиотека Login

  • Библиотека Store

  • Библиотека Inventory

  • Библиотека Payments

  • Библиотека Subscriptions

  • Аутентификация

  • Каталог

  • Акции

  • Покупка товара

  • Инвентарь игрока

  • Личный кабинет и атрибуты пользователя

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

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

    Возможны два способа реализации аутентификации через социальные сети:

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

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

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

    • Пользователь, зарегистрированный с помощью имени пользователя или 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. Реализуйте логику аутентификации на стороне приложения.

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

    Внимание
    В Личном кабинете для варианта авторизации, который вы используете в своем приложении, должен быть выбран способ — Классическая авторизация или Авторизация через социальные сети. Вы можете изменить способ авторизации по ссылке Изменить метод авторизации. Ранее сохраненные настройки останутся без изменений.

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

    1. Подключите социальные сети, через которые пользователи смогут регистрироваться и входить в приложение. Это можно сделать одним из следующих способов:

      • Чтобы подключить нужную социальную сеть, нажмите значок ⚙ и выберите пункт Подключить.

      • Чтобы подключить сразу несколько социальных сетей, выберите нужные панели (рамки панелей станут зелеными). Затем в раскрывающемся меню Управление выберите пункт Подключить.

      • Чтобы подключить сразу все доступные социальные сети, нажмите Выбрать все. Затем в раскрывающемся меню Управление выберите пункт Подключить.

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

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

    Реализуйте следующую логику при нажатии кнопки аутентификации через социальную сеть:
    1. Вызовите метод библиотеки Login startSocialAuth.
    2. Внутри метода onActivityResult вызовите метод библиотеки Login finishSocialAuth.
    Справочная документация SDK
    Узнайте больше о методах SDK и их параметрах.
    Была ли статья полезна?
    Спасибо!
    Что может сделать страницу еще лучше? Сообщение
    Жаль, что так произошло
    Расскажите, почему статья не была полезна. Сообщение
    Спасибо за обратную связь!
    Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
    Скрыть

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

    Внимание
    Используйте эту инструкцию для работы с библиотекой Login.

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

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

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

    • Google
    • Facebook
    • WeChat
    • QQ

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

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

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

    1. Установите библиотеки для авторизации через социальную сеть. Для этого откройте файл build.gradle вашего приложения и в разделе зависимостей добавьте следующие строки, где <version_number> — необходимая версия библиотеки:
      • Для авторизации через Facebook:

    Copy
    Full screen
    Small screen

    implementation 'com.xsolla.android:login-facebook:<version_number>'

      • Для авторизации через Google:

    Copy
    Full screen
    Small screen

    implementation 'com.xsolla.android:login-google:<version_number>'

      • Для авторизации через WeChat:

    Copy
    Full screen
    Small screen

    implementation 'com.xsolla.android:login-wechat:<version_number>'

      • Для авторизации через QQ:

    Copy
    Full screen
    Small screen

    implementation 'com.xsolla.android:login-qq:<version_number>'

    1. Инициализируйте библиотеку Login с указанием следующих параметров:
      • facebook_idИдентификатор приложения из личного кабинета разработчика Facebook;
      • google_idИдентификатор клиента из Google API Console для веб-приложения;
      • wechat_idAppID из личного кабинета разработчика WeChat;
      • qq_idAppID из личного кабинета разработчика QQ.

    Пример инициализации библиотеки при аутентификации через OAuth 2.0:

    Copy
    Full screen
    Small screen

    val loginConfig = LoginConfig.OauthBuilder()
                    .setProjectId("login-project-id")
                    .setOauthClientId("oauth2-client-id")
                    .setSocialConfig(XLogin.SocialConfig(
                         facebookAppId = "facebook_id",
                         googleServerId = "google_id",
                         wechatAppId = "wechat_id",
                         qqAppId = "qq_id"
                    ))
    
                    .build()
    
    XLogin.init(applicationContext, loginConfig)

    1. Для авторизации через WeChat доработайте код приложения:
      • Добавьте в пакет <your_package_name>.wxapi класс WXEntryActivity, где <your_package_name> — название пакета вашего приложения:

    Copy
    Full screen
    Small screen

    package <your_package_name>.wxapi
    
    import android.app.Activity
    import android.os.Bundle
    import com.tencent.mm.opensdk.modelbase.BaseReq
    import com.tencent.mm.opensdk.modelbase.BaseResp
    import com.tencent.mm.opensdk.openapi.IWXAPI
    import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
    import com.tencent.mm.opensdk.openapi.WXAPIFactory
    import com.xsolla.android.login.util.WechatUtils
    
    class WXEntryActivity : Activity(), IWXAPIEventHandler {
    
        private lateinit var iwxapi: IWXAPI
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
    
            iwxapi = WXAPIFactory.createWXAPI(this, WechatUtils.wechatAppId, false)
            iwxapi.handleIntent(intent, this)
            finish()
        }
    
        override fun onReq(req: BaseReq?) {
        }
    
        override fun onResp(resp: BaseResp) {
            WechatUtils.wechatResult = resp
        }
    }

      • Добавьте в файл AndroidManifest.xml следующий элемент:

    Copy
    Full screen
    Small screen

    <activity
            android:name="<your_package_name>.wxapi.WXEntryActivity"
            android:exported="true"
            android:launchMode="singleTask" />

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

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

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

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

    1. Перейдите в Google API Console.
    2. Нажмите Создать проект.
    3. Укажите Название проекта и Местоположение, нажмите Создать.
    4. Перейдите в созданный проект и в боковом меню нажмите Окно запроса доступа OAuth.
    5. Установите флажок Внешнее и нажмите Создать.
    6. Укажите необходимые параметры и нажмите Сохранить.
    7. В боковом меню выберите Учетные данные.
    8. Создайте клиент OAuth 2.0 для вашего Android-приложения:

      1. Нажмите Создать учетные данные и выберите пункт Идентификатор проекта OAuth.
      2. В поле Тип приложения укажите Android.
      3. Укажите Имя.
      4. В поле Название пакета укажите имя пакета вашего Android-приложения.
      5. Сгенерируйте SHA-ключ.
      6. В поле Контрольная сумма сертификата SHA-1 укажите SHA-ключ, сгенерированный на предыдущем шаге.
      7. Нажмите Создать.
      8. Нажмите OK.

    1. Создайте клиент OAuth 2.0 для веб-приложения:
      1. Нажмите Создать учетные данные и выберите пункт Идентификатор проекта OAuth.
      2. В поле Тип приложения укажите Веб-приложение.
      3. Укажите Имя.
      4. Нажмите Добавить URI в разделе Разрешенные URI перенаправления и укажите URI https://login.xsolla.com/api/social/oauth2/callback.
      5. Нажмите Создать.
      6. Нажмите OK.

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

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

    Внимание
    В Личном кабинете для варианта авторизации, который вы используете в своем приложении, должен быть выбран способ — Классическая авторизация или Авторизация через социальные сети. Вы можете изменить способ авторизации по ссылке Изменить метод авторизации. Ранее сохраненные настройки останутся без изменений.

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

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

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

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

    Реализуйте следующую логику при нажатии кнопки аутентификации через социальную сеть:
    1. Вызовите метод библиотеки Login startSocialAuth.
    2. Внутри метода onActivityResult вызовите метод библиотеки Login finishSocialAuth.
    Справочная документация SDK
    Узнайте больше о методах SDK и их параметрах.
    Была ли статья полезна?
    Спасибо!
    Что может сделать страницу еще лучше? Сообщение
    Жаль, что так произошло
    Расскажите, почему статья не была полезна. Сообщение
    Спасибо за обратную связь!
    Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
    Скрыть

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

    Последнее обновление: 14 ноября 2022

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

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