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

SDK для Android

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

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

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

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

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

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

  • Каталог

  • Акции

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

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

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

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

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

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

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

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

    Инструкции

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

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

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

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

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

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

    • Google
    • Facebook
    • WeChat
    • QQ

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

    1. Настройте приложение в личном кабинете разработчика социальной сети:
      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 обратитесь к аккаунт-менеджеру проекта.

    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.

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

    Copy
    Full screen
    Small screen
    val loginConfig = LoginConfig.JwtBuilder()
                    .setProjectId("login-project-id")
                    .setSocialConfig(XLogin.SocialConfig(
                         facebookAppId = "facebook_id",
                         googleServerId = "google_id",
                         wechatAppId = "wechat_id",
                         qqAppId = "qq_id"
                    ))
                    .build()
    
    XLogin.init(applicationContext, loginConfig)

    Пример инициализации библиотеки при аутентификации через 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.social.LoginSocial
    
    class WXEntryActivity : Activity(), IWXAPIEventHandler {
    
        private lateinit var iwxapi: IWXAPI
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
    
            iwxapi = WXAPIFactory.createWXAPI(this, LoginSocial.wechatAppId, false)
            iwxapi.handleIntent(intent, this)
            finish()
        }
    
        override fun onReq(req: BaseReq?) {
        }
    
        override fun onResp(resp: BaseResp) {
            LoginSocial.wechatResult = resp
        }
    }

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

    Copy
    Full screen
    Small screen
    <activity
                android:name=".wxapi.WXEntryActivity"
                android:exported="true">

    Настройка страницы приложения в личном кабинете разработчика 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 и секретного ключа можно найти в настройках карточки социальной сети в Личном кабинете.
    Была ли статья полезна?
    Спасибо!
    Что может сделать страницу еще лучше? Сообщение
    Жаль, что так произошло
    Расскажите, почему статья не была полезна. Сообщение
    Спасибо за обратную связь!
    Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
    Скрыть

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

    Последнее обновление: 8 августа 2022

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

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