Jump to content

Сервисы аутентификации. Аутентификация с помощью Google Sign-In


В этой статье мы разберем настройку и использование сервиса Google Sign-In с помощью TfgGoogleSignInAuthenticationClient.

0.jpeg

 

Настройка серверной части

  1. Переходим по ссылке и попадаем на страницу документации с пошаговым мастером настройки, запускаемым по кнопке Configure a project

    1.png

  2. Запускаем мастер и указываем имя проекта (внутреннее именование, невидимое для конечного пользователя)

    2.png

  3. Указываем имя продукта для OAuth клиента, которое увидит конечный пользователь в диалоге аутентификации

    3.png

  4. Далее в выпадающем списке выбираем тип клиента Android, указываем имя пакета (далее понадобится нам при настройке Delphi приложения) и отпечаток сертификата (получение рассмотрено ниже)

    4.png

  5. Завершаем настройку (при надобности сохраните конфигурационные данные клиента)

    6.png

 

Получение SHA-1 отпечатка сертификата

При сборке Android приложение подписывается сертификатом разработчика. От типа сборки, режима конфигурации и версии Delphi будет зависеть местоположение файла сертификата от которого мы будет получать отпечаток. Ниже будет рассмотреть вариант получения отпечатка для Debug сборки в режиме конфигурации Development для Delphi 11.

Открываем командуню строку Windows и выполяем следующую команду 

keytool -list -v -alias androiddebugkey -keystore "C:\Users\%USERNAME%\AppData\Roaming\Embarcadero\BDS\22.0\debug.keystore"

где %USERNAME% - имя залогиненого пользователя Windows

22.0 - версия Delphi 11 (для Delphi 10.4 этот параметр будет равен 21.0).

Если вы используете собственный сертификат разработчика и режим конфигурации Application Store, подставьте путь к вашему .keystore файлу.

5.png

Настройка клиентской части

  1. Переходим в настройки Android профиля приложения и назначаем package из шага 4 настройки серверной части

    7.png

  2. Открываем в текстовом редакторе файл AndroidManifest.template.xml из директории проекта и сразу после закрывающего тега </activity> добавляем следующий текст

        <!-- Google Play Services version, which are used in this application. This value is checked by Play Services in runtime -->
        <meta-data android:name="com.google.android.gms.version" android:value="12451000" />
		
        <activity
            android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity"
            android:excludeFromRecents="true"
            android:exported="false"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <!--
            Service handling Google Sign-In user revocation. For apps that do not integrate with
            Google Sign-In, this service will never be started.
        -->
        <service
            android:name="com.google.android.gms.auth.api.signin.RevocationBoundService"
            android:exported="true"
            android:permission="com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION" />	

Внимание! Если в настройках вашего проекта вклюены опции AdMob Service, Maps Service или Receive push notifications указывать первую строку с версией Google Play Services необязательно, т.к. она добавится автоматически. 

Итоговый файл можно посмотреть в прикрепленном демо проекте Authentication - Clients.zip

Спасибо за внимание.

 

  • Like 4

1 Comment


Recommended Comments

Stas

Posted

Возможно будут неприятности со старыми аккаунтами firebase

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...