适用于 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 工作区文件。以后对您的应用进行开发时,请使用此文件。(请注意,这与包含的 .xcodeproj 项目文件不同,后者打开后会导致构建错误。)

    如需查看示例,请参阅 Objective-C 示例应用的 Podfile

Swift Package Manager

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

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

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

    包装产品 Google 登录 Swift

获取 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 应用中。