Начало работы со входом в Google для iOS и macOS

Прежде чем начать интеграцию вашего iOS или macOS-приложения с компонентами Google Sign-In, необходимо загрузить зависимости и настроить проект Xcode. Шаги на этой странице как раз это и делают. Далее описывается, как интегрировать функции Google Sign-In в ваше приложение.

Прежде чем начать

Установите актуальную версию Xcode .

Установите зависимости Google Sign-In в свой проект.

CocoaPods

  1. Если у вас еще не установлено приложение CocoaPods, выполните действия, описанные в руководстве по началу работы с CocoaPods.

  2. Откройте окно терминала и перейдите в папку, где находится проект Xcode вашего приложения.

  3. Если вы еще не создали Podfile для своего приложения, сделайте это сейчас:

    pod init

  4. Откройте файл Podfile, созданный для вашего приложения, и добавьте следующее:

    pod 'GoogleSignIn'

  5. Если вы используете SwiftUI, добавьте также расширение Pod для кнопки "Войти через Google":

    pod 'GoogleSignInSwiftSupport'

  6. Сохраните файл и запустите:

    pod install

  7. Откройте сгенерированный файл рабочей области .xcworkspace для вашего приложения в Xcode. Используйте этот файл для всей дальнейшей разработки вашего приложения. (Обратите внимание, что это отличается от включенного в комплект файла проекта .xcodeproj , открытие которого может привести к ошибкам сборки.)

    В качестве примера вы можете обратиться к файлу Podfile примера приложения на Objective-C .

Swift Package Manager

  1. Откройте свой проект в Xcode.

  2. Добавьте зависимости Google Sign-In в ваше приложение ( документация Xcode ):

    Репозиторий https://github.com/google/GoogleSignIn-iOS
    Версия 9.0.0
    Упакованный продукт GoogleВойти
  3. Если вы используете SwiftUI, добавьте также следующий пакет расширений для кнопки «Войти через Google»:

    Упакованный продукт GoogleSignInSwift

Получите идентификатор клиента OAuth.

Вашему приложению необходим идентификатор клиента OAuth для идентификации в системе аутентификации Google. Для приложений iOS и macOS тип приложения с идентификатором клиента OAuth должен быть указан как iOS.

Если вы еще не создали идентификатор клиента OAuth, нажмите кнопку ниже, чтобы сделать это.

Создайте идентификатор клиента OAuth.

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

Если вы уже создали идентификатор клиента OAuth, вы можете найти свою существующую информацию OAuth, нажав кнопку ниже.

Получите существующий идентификатор клиента OAuth.

Получите идентификатор клиента сервера OAuth.

Большинству приложений потребуется передавать идентификационные данные авторизованных пользователей в какой-либо бэкэнд-сервис. Для безопасной передачи идентификационных данных пользователей, авторизованных через Google, в ваш бэкэнд используются токены ID, как описано в разделе «Аутентификация с помощью бэкэнд-сервера» . Для получения токена ID пользователя требуется второй идентификатор клиента — идентификатор клиента вашего сервера , который представляет ваш бэкэнд.

Для создания идентификатора клиента сервера:

  1. Откройте свой проект в консоли Cloud .

  2. Создайте новый идентификатор клиента OAuth для веб-приложения . Запишите строку идентификатора клиента, которая понадобится для настройки входа через Google в вашем приложении.

Настройте свой проект приложения.

Для входа через Google Sign-In в вашем проекте необходимо указать идентификатор клиента OAuth и пользовательскую схему URL-адресов. При желании вы также можете добавить идентификатор клиента сервера для аутентификации на стороне бэкэнда или оптимизировать приложение для домена Google Workspace.

Добавьте свой идентификатор клиента OAuth и пользовательскую схему URL.

Обновите файл Info.plist вашего приложения, добавив идентификатор клиента OAuth и пользовательскую схему URL-адресов, основанную на обратном идентификаторе клиента .

Обратный идентификатор клиента — это ваш идентификатор клиента с обратным порядком полей, разделенных точками. Он также отображается в разделе « Схема URL-адресов iOS » при выборе существующего клиента iOS OAuth в консоли Cloud . Например: com.googleusercontent.apps.1234567890-abcdefg

<key>GIDClientID</key>
<string>YOUR_IOS_CLIENT_ID</string>
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
    </array>
  </dict>
</array>

Необязательно: Настройте аутентификацию на стороне сервера.

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

<key>GIDServerClientID</key>
<string>YOUR_SERVER_CLIENT_ID</string>

Дополнительно: Оптимизация для домена Google Workspace или области OpenID.

Используйте параметр GIDHostedDomain если хотите оптимизировать процесс входа в систему для домена Google Workspace.

<key>GIDHostedDomain</key>
<string>YOUR_HOSTED_DOMAIN</string>

Используйте параметр GIDOpenIDRealm , если хотите указать область OpenID.

<key>GIDOpenIDRealm</key>
<string>YOUR_OPENID_REALM</string>

Подписание заявления

Для корректной работы приложения на устройствах macOS и iOS и хранения учетных данных с помощью Keychain, оно должно быть подписано сертификатом, выданным Apple.

Для того чтобы ваше приложение macOS успешно сохраняло учетные данные с помощью Keychain, вам также потребуется добавить $(AppIdentifierPrefix)$(CFBundleIdentifier) ​​в группу доступа Keychain.

Следующие шаги

Теперь, когда вы загрузили зависимости проекта и настроили свой проект Xcode, вы можете добавить вход через Google в свое iOS-приложение.