iOS 和 macOS 版 Google 登录使用入门

在开始将您的 iOS 或 macOS 应用与 Google 登录组件集成之前,您必须先下载依赖项并配置您的 Xcode 项目。本页中的步骤正好可以达到此目的。然后,后续步骤会介绍如何在您的应用中集成 Google 登录功能。

准备工作

安装最新版本的 Xcode

在项目中安装 Google 登录依赖项

CocoaPods

  1. 如果您尚未安装 CocoaPods,请按照 CocoaPods 使用入门指南中的步骤操作。

  2. 打开终端窗口,然后转到应用的 Xcode 项目位置。

  3. 如果您尚未为应用创建 Podfile,请立即创建一个:

    pod init

  4. 打开为您的应用创建的 Podfile,并添加以下内容:

    pod 'GoogleSignIn'

  5. 如果您使用的是 SwiftUI,还要为“使用 Google 帐号登录”按钮添加 pod 扩展程序:

    pod 'GoogleSignInSwiftSupport'

  6. 保存文件并运行:

    pod install

  7. 在 Xcode 中为您的应用打开生成的 .xcworkspace workspace 文件。以后开发您的应用时都要使用此文件。(请注意,这与所包含的 .xcodeproj 项目文件不同,后者在打开时会导致构建错误。)

    您可以参考 Objective-C 示例应用的 Podfile,了解相关示例。

Swift Package Manager

  1. 在 Xcode 中打开您的项目。

  2. 将 Google 登录依赖项添加到您的应用(Xcode 文档):

    代码库 https://github.com/google/GoogleSignIn-iOS
    版本 7.0.0
    包装产品 GoogleSignIn
  3. 如果您使用的是 SwiftUI,请同时为“使用 Google 帐号登录”按钮添加以下扩展程序软件包产品:

    包装产品 GoogleSignInSwift

获取 OAuth 客户端 ID

您的应用需要一个 OAuth 客户端 ID,以向 Google 的身份验证后端识别自身。对于 iOS 和 macOS 应用,必须将 OAuth 客户端 ID 应用类型配置为 iOS。

如果您尚未创建 OAuth 客户端 ID,请点击下面的按钮进行创建。

创建 OAuth 客户端 ID

创建 OAuth 客户端 ID 后,请记下客户端 ID 字符串,您将需要在应用中配置 Google 登录。您可以选择下载包含客户端 ID 和其他配置数据的配置文件,以备将来参考。

如果您已创建 OAuth 客户端 ID,可以点击下方按钮找到现有的 OAuth 信息。

获取现有的 OAuth 客户端 ID

获取 OAuth 服务器客户端 ID

大多数应用都需要将已登录用户的身份传递给某种后端服务。为了安全地将使用 Google 帐号登录的用户的身份传递到后端,请使用 ID 令牌,如使用后端服务器进行身份验证中所述。检索用户的 ID 令牌需要第二个客户端 ID,即您的服务器客户端 ID,用以代表您的后端。

如需创建服务器客户端 ID,请执行以下操作:

  1. Cloud 控制台中打开您的项目。

  2. 创建一个新的 Web 应用类型的 OAuth 客户端 ID。记下客户端 ID 字符串,您需要在应用中配置 Google 登录服务。

配置应用项目

Google 登录要求为您的项目配置 OAuth 客户端 ID 和自定义网址方案。(可选)您还可以添加服务器客户端 ID 用于后端身份验证,或者为您的 Google Workspace 网域优化应用。

添加您的 OAuth 客户端 ID 和自定义网址方案

更新应用的 Info.plist 文件,以添加您的 OAuth 客户端 ID 以及基于反向客户端 ID 的自定义网址方案。

倒序的客户端 ID 是您的客户端 ID,其以英文句点分隔的字段的顺序反转了。在 Cloud 控制台中选择现有的 iOS OAuth 客户端时,“iOS 网址架构”下也会显示此信息。例如: 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>

可选:配置后端身份验证

如果您需要获取用于后端身份验证的用户 ID 令牌,还应在应用的 Info.plist 文件中设置 GIDServerClientID 键。

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

可选:针对 Google Workspace 网域或 OpenID 领域进行优化

如果您想为 Google Workspace 网域优化登录流程,请使用 GIDHostedDomain 参数。

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

如果您想指定 OpenID 领域,请使用 GIDOpenIDRealm 参数。

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

对应用进行签名

您的应用必须使用 Apple 颁发的证书签名才能在 macOS 和 iOS 设备上以原生方式运行,才能通过钥匙串存储凭据。

后续步骤

现在,您已经下载了项目依赖项并配置了 Xcode 项目,现在可以将 Google 登录添加到您的 iOS 应用中了。