iOS 端 Supabase Apple Login 设置
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
前提条件
“前提条件”章节本指南将帮助你在 iOS 上将 Apple Sign-In 与 Supabase Authentication 进行集成。前提是你已完成以下步骤:
实现
“实现”章节完整实现位于 示例应用的 supabaseAuthUtils.ts 文件。本指南介绍其核心概念及使用方法。
使用 Authentication Helper
章节标题为“使用 Authentication Helper”本指南中介绍的 authenticateWithAppleSupabase 函数负责处理整个身份验证流程:
import { authenticateWithAppleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithAppleSupabase();if (result.success) { console.log('Signed in:', result.user); // Navigate to your authenticated area} else { console.error('Error:', result.error);}工作原理
标题为“工作原理”的章节在 iOS 上,Apple Sign-In 使用原生实现:
- 初始化:该插件会自动使用你应用的 bundle ID(无需
clientId所需) - 原生登录: 使用 Apple 原生的 Sign in with Apple 按钮和身份验证流程
- 身份令牌(Identity Token):Apple 返回包含用户信息的身份令牌(JWT)
- Supabase 身份验证:使用以下方式将身份令牌发送到 Supabase
signInWithIdToken()
辅助函数会自动检测 iOS 平台并完成相应配置。
重要注意事项
标题为“重要注意事项”的部分Bundle ID 配置
标题为“Bundle ID 配置”的部分- iOS 会自动使用应用的 bundle ID 进行 Apple Sign-In
- 请确保您的 bundle ID 与 Apple Developer Portal 中的配置一致
- bundle ID 必须已启用 “Sign in with Apple” 能力
Supabase 客户端 ID
章节标题:“Supabase Client ID”在 Supabase 中,用以下信息配置 Apple provider:
- Client ID:您的 iOS App ID (bundle ID) - 例如:
app.capgo.plugin.SocialLogin
如果您同时使用 Android/Web,需要在 Supabase 的 Client ID 字段中同时提供 App ID 和 Service ID(用逗号分隔)。
故障排除
“故障排除”章节如果身份验证失败:
- Bundle ID 不匹配: 请检查 Xcode 和 Apple Developer Portal 中的 Bundle ID 是否一致
- 未启用 Capability: 请确保已在 Xcode 中启用 “Sign in with Apple” Capability
- Supabase 配置问题: 请检查 Supabase Apple provider 设置中的 App ID 配置是否正确
- Token 验证失败: 请检查是否已从 Apple 成功接收到 identity token
- 请查阅 示例应用 code 供参考
继续完成 iOS 端 Supabase Apple Login 设置
章节标题:“继续完成 iOS 端 Supabase Apple Login 配置”如果你正在使用 iOS 端 Supabase Apple 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 中的实现细节, 双因素认证 有关双重身份验证的实现细节。