Supabase Apple iOS 登录设置
复制一个设置提示,包含安装步骤和本插件的完整 Markdown 指南。
前提条件
标题为“前提条件”的部分本指南将帮助您在 iOS 上将 Apple Sign-In 与 Supabase 身份验证集成。假设您已经完成了:
- 苹果登录 iOS 设置 苹果登录 iOS 设置
- the Supabase Apple 登录 - 通用设置.
实现
标题:实现完整的实现可在 示例应用程序的 supabaseAuthUtils.ts 文件中找到。 本指南解释了关键概念和如何使用它。
使用身份验证助手
标题:使用身份验证助手The 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 按钮和身份验证流程
- 身份令牌: Apple 返回包含用户信息的身份令牌(JWT)
- Supabase 身份验证: 将身份令牌发送到 Supabase
signInWithIdToken()
iOS 平台的辅助函数会自动检测并配置所有内容。
重要说明
重要说明包 ID 配置
包 ID 配置- iOS 将使用您的应用程序的包 ID 自动进行 Apple Sign-In
- 确保您的包 ID 与 Apple Developer Portal 中配置的内容匹配
- 包 ID 应该启用 "使用 Apple 登录" 功能
Supabase 客户端 ID
包 ID 配置在 Supabase 中,配置 Apple 提供商时,请使用以下内容:
- 客户端 ID: 你的 iOS App ID (bundle ID) - 例如,
app.capgo.plugin.SocialLogin
如果您还在使用 Android/Web,需要在 Supabase 的 Client ID 字段中提供 App ID 和 Service ID(以逗号分隔)。
故障排除
故障排除故障排除:
- bundle ID 不匹配: 确认您的 bundle ID 在 Xcode 和 Apple Developer Portal 中都匹配
- 能力未启用: 确认在 Xcode 中启用了 "Sign in with Apple" 能力
- Supabase 配置: 确认在 Supabase Apple 提供商设置中 App ID 正确配置
- 令牌验证失败: 检查 Apple 是否向您发送身份令牌
- Review the 示例应用程序 code 以此为参考
继续使用 Supabase Apple iOS 登录设置
标题:继续使用 Supabase Apple iOS 登录设置如果您正在使用 Supabase Apple iOS 登录设置 来规划身份验证和帐户流程,连接它到 使用 @capgo/capacitor-social-login 为 Using @capgo/capacitor-social-login 中的本机能力 @capgo/capacitor-social-login 为 @capgo/capacitor 社交登录的实现细节 @capgo/capacitor-passkey 为 @capgo/capacitor-passkey 的实现细节 @capgo/capacitor-native-biometric 为 @capgo/capacitor-native-biometric 的实现细节,以及 双因素认证 为双因素认证的实现细节。