iOS 和 macOS 版 Google 登录使用入门

您必须先下载依赖项并配置 Xcode 项目,然后才能开始将 iOS 或 macOS 应用与 Google 登录组件集成。本页面上的步骤就是为此而设计的。然后,后续步骤将介绍如何将 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 project 文件不同,后者会在打开时导致构建错误。)

    如需查看示例,请参阅 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 代表您的后端。

如需创建服务器客户端 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 项目,接下来可以向 iOS 应用添加 Google 登录了。