Прежде чем начать интеграцию компонентов входа Google в ваше приложение iOS или macOS, необходимо загрузить зависимости и настроить проект Xcode. Действия, представленные на этой странице, как раз и предназначены для этого. Далее описывается, как интегрировать функции входа Google в ваше приложение.
Прежде чем начать
Установите актуальную версию Xcode .
Установите зависимости Google Sign-In в свой проект
CocoaPods
Если у вас еще не установлен CocoaPods, следуйте инструкциям в руководстве по началу работы с CocoaPods.
Откройте окно терминала и перейдите к месту расположения проекта Xcode вашего приложения.
Если вы еще не создали Podfile для своего приложения, создайте его сейчас:
pod init
Откройте Podfile, созданный для вашего приложения, и добавьте следующее:
pod 'GoogleSignIn'
Если вы используете SwiftUI, также добавьте расширение Pod для кнопки «Войти через Google»:
pod 'GoogleSignInSwiftSupport'
Сохраните файл и запустите:
pod install
Откройте созданный файл рабочей области
.xcworkspace
для вашего приложения в Xcode. Используйте этот файл для всей дальнейшей разработки вашего приложения. (Обратите внимание, что он отличается от включённого файла проекта.xcodeproj
, открытие которого приведёт к ошибкам сборки.)В качестве примера можно обратиться к Podfile приложения Objective-C .
Менеджер пакетов Swift
Откройте свой проект в Xcode.
Добавьте зависимости входа Google в свое приложение ( документация Xcode ):
Репозиторий https://github.com/google/GoogleSignIn-iOS
Версия 7.0.0 Упакованный продукт GoogleSignIn Если вы используете SwiftUI, также добавьте следующий пакет расширения для кнопки «Войти через Google»:
Упакованный продукт GoogleSignInSwift
Получите идентификатор клиента OAuth
Вашему приложению необходим идентификатор клиента OAuth для идентификации в системе аутентификации Google. Для приложений iOS и macOS тип приложения идентификатора клиента OAuth должен быть настроен как iOS.
Если вы еще не создали идентификатор клиента OAuth, нажмите кнопку ниже, чтобы сделать это.
Создайте идентификатор клиента OAuth
После создания идентификатора клиента OAuth запишите строку идентификатора клиента, которая понадобится вам для настройки входа через Google в вашем приложении. При желании вы можете скачать файл конфигурации, содержащий ваш идентификатор клиента и другие данные конфигурации, для дальнейшего использования.
Если вы уже создали идентификатор клиента OAuth, вы можете найти существующую информацию OAuth, нажав кнопку ниже.
Получите существующий идентификатор клиента OAuth
Получите идентификатор клиента сервера OAuth
Большинству приложений необходимо передавать идентификационные данные вошедших в систему пользователей в какой-либо бэкенд-сервис. Для безопасной передачи идентификационных данных пользователей, вошедших в систему через Google, в ваш бэкенд используются токены идентификаторов, как описано в разделе «Аутентификация с помощью бэкенд-сервера» . Для получения токена идентификатора пользователя требуется второй идентификатор клиента — ваш серверный идентификатор клиента, который представляет ваш бэкенд.
Чтобы создать идентификатор клиента сервера:
Откройте свой проект в консоли Cloud .
Создайте новый идентификатор клиента OAuth для веб-приложения . Запишите строку идентификатора клиента, которая понадобится вам для настройки входа через Google в вашем приложении.
Настройте свой проект приложения
Для входа через Google требуется настроить ваш проект с использованием идентификатора клиента OAuth и собственной схемы URL-адресов. При желании вы также можете добавить идентификатор клиента сервера для внутренней аутентификации или оптимизировать приложение для домена Google Workspace.
Добавьте свой идентификатор клиента OAuth и пользовательскую схему URL
Обновите файл Info.plist
вашего приложения, чтобы добавить идентификатор клиента OAuth и пользовательскую схему URL-адресов на основе обратного идентификатора клиента .
Обратный идентификатор клиента — это ваш идентификатор клиента с обратным порядком полей, разделённых точками. Он также отображается в разделе « Схема URL iOS » при выборе существующего клиента OAuth iOS в консоли 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>
Подписание вашего заявления
Для хранения учетных данных с помощью Keychain ваше приложение должно быть подписано сертификатом, выданным Apple, чтобы работать на устройствах macOS и iOS.
Чтобы приложение macOS успешно сохраняло учетные данные с помощью Keychain, вам также потребуется добавить $(AppIdentifierPrefix)$(CFBundleIdentifier)
в его группу доступа к Keychain.
Следующие шаги
Теперь, когда вы загрузили зависимости проекта и настроили свой проект Xcode, вы можете добавить вход через Google в свое приложение iOS.