Supabase Apple 登录 iOS 设置
本指南将帮助您将 Apple 登录与 iOS 上的 Supabase 身份验证集成。假设您已经完成:
完整的实现可在 示例应用程序的 supabaseAuthUtils.ts 文件中找到。本指南解释了关键概念及其使用方法。
使用身份验证助手
Section titled “使用身份验证助手”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);}它是如何工作的
Section titled “它是如何工作的”在 iOS 上,Apple 登录使用本机实现:
- 初始化:插件自动使用您的应用程序的捆绑ID(不需要
clientId) - 本机登录:使用 Apple 的本机“通过 Apple 按钮登录”和身份验证流程
- 身份令牌:Apple 返回包含用户信息的身份令牌(JWT)
- Supabase 身份验证:使用
signInWithIdToken()将身份令牌发送到 Supabase
辅助函数会自动检测 iOS 平台并适当配置所有内容。
捆绑包 ID 配置
Section titled “捆绑包 ID 配置”- iOS 自动使用您的应用程序的捆绑 ID 进行 Apple 登录
- 确保您的捆绑包 ID 与 Apple 开发者门户中的配置相匹配
- 捆绑包 ID 应启用“使用 Apple 登录”功能
Supabase 客户端 ID
Section titled “Supabase 客户端 ID”在 Supabase 中,配置您的 Apple 提供程序:
- 客户端 ID:您的 iOS 应用程序 ID(捆绑包 ID) - 例如
app.capgo.plugin.SocialLogin
如果您还使用 Android/Web,则需要在 Supabase 的客户端 ID 字段中提供应用程序 ID 和服务 ID(以逗号分隔)。
如果认证失败:
- 捆绑包 ID 不匹配:验证您的捆绑包 ID 在 Xcode 和 Apple 开发者门户中匹配
- 功能未启用:确保在 Xcode 中启用“使用 Apple 登录”功能
- Supabase 配置:验证您的应用程序 ID 是否在 Supabase Apple 提供商设置中正确配置
- 令牌验证失败:检查是否从 Apple 接收身份令牌
- 查看示例应用程序代码以供参考