iOS 上的 Firebase Google Login
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
本指南将帮助你在 iOS 上通过 Firebase Authentication 集成 Google Sign-In。假设你已经完成了 Firebase Google 通用配置.
配置步骤
“设置步骤”章节-
前往您的项目概览页面 console.cloud.google.com
-
点击
Add app按钮
-
选择
iOS
-
填写表单的第一部分
- 填写
Apple bundle ID- 使用以下方式打开应用的 Xcode
npx cap open ios - 双击
App
- 确保你处于
Targets -> App
- 找到你的
Bundle Identifier
- 复制
Bundle Identifier并将其粘贴到 Firebase 控制台
- 使用以下方式打开应用的 Xcode
- 点击
Register app按钮
- 填写
-
跳过此
Download config file步骤
-
跳过此
Add firebase SDK步骤
-
跳过此
Add initialization code步骤
-
点击
Continue to console按钮
-
获取您的 iOS Client ID 和
YOUR_DOT_REVERSED_IOS_CLIENT_ID-
前往 Google Cloud Console: console.cloud.google.com
-
找到您的项目
- 点击项目选择器
- 通过 Firebase 项目的准确名称搜索并点击。以我的项目为例,它是
sociallogin-tutorial-app.
- 点击项目选择器
-
打开搜索栏并打开
credentials- 打开搜索栏
- 搜索
credentials并点击APIs and Services其中一个(如截图中的第 2 项)
- 打开搜索栏
-
点击
iOS client for [YOUR_APP_ID] (auto created by Google Service)1. 在我的案例中,它是sociallogin-tutorial-app.
-
复制
Client ID以及iOS URL scheme。它们分别是你的iOSClientId以及YOUR_DOT_REVERSED_IOS_CLIENT_ID.
-
-
获取你的 Web Client ID
- 返回 Firebase 控制台并前往
Build->Authentication
- 点击
Sign-in method按钮
- 点击
Google提供方
- 点击
Web SDK configuration按钮
- 复制
Web client ID. 这将是你的webClientId在initialize插件的 method。
- 返回 Firebase 控制台并前往
-
修改应用的 Info.plist
-
打开 Xcode 并找到
Info.plist文件
-
右键点击该文件并以 source code 方式打开
-
在你的
Plist文件底部,你会看到一个</dict>标签
-
在 closing 之前插入以下代码片段
</dict>标签
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array><key>GIDClientID</key><string>YOUR_IOS_CLIENT_ID.apps.googleusercontent.com</string> -
将
YOUR_DOT_REVERSED_IOS_CLIENT_ID修改为第 9 步中复制的值(iOS URL scheme)
-
-
将
YOUR_IOS_CLIENT_ID更改为第 9 步中复制的 iOS Client ID -
保存文件
Command + S -
修改
AppDelegate.swift-
打开 AppDelegate
-
插入
import GoogleSignIn在文件顶部
-
找到
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])函数
-
按如下方式修改该函数
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {// Called when the app was launched with a url. Feel free to add additional processing here,// but if you want the App API to support tracking app url opens, make sure to keep this callvar handled: Boolhandled = GIDSignIn.sharedInstance.handle(url)if handled {return true}return ApplicationDelegateProxy.shared.application(app, open: url, options: options)}
-
保存文件
Command + S
-
-
在应用中使用 Google 登录
至此,您已准备好在应用中使用 Google 登录。 请使用 authUtils.ts 用于 Google 身份验证的示例 App 文件。
首次登录时,系统会自动在 Firebase Auth 中创建用户
故障排除
“故障排除”章节如果身份验证卡住或失败:
- 请检查
idTokenaudience 是否与您的 Firebase web client ID 一致 - 检查 Firebase Console 中是否已启用 Google Sign-In
- 确保 Info.plist 中配置了正确的 URL schemes 和 GIDClientID
- 请验证
iOSServerClientId是否与您的 web client ID 一致 - 请查阅 code 示例应用 供参考
继续配置 iOS 版 Firebase Google Login
标题为“继续配置 iOS 版 Firebase Google Login”如果你正在使用 iOS 上的 Firebase Google Login 用来规划身份验证和账户流程,并将它与 使用 @capgo/capacitor-social-login 关于使用 @capgo/capacitor-social-login 的原生能力, @capgo/capacitor-social-login 在 @capgo/capacitor-social-login 中查看实现细节, @capgo/capacitor-passkey 有关 @capgo/capacitor-passkey 的实现细节, @capgo/capacitor-native-biometric 以及 @capgo/capacitor-native-biometric 中的实现细节, 双因素认证 有关双重身份验证的实现细节。