跳过内容

Supabase Apple iOS 登录设置

GitHub

本指南将帮助您在iOS上将Apple Sign-In与Supabase身份验证集成。假设您已经完成了:

完整的实现可以在 示例应用程序的 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 使用原生实现:

  1. 初始化:该插件会自动使用您的应用程序的包 ID(无需 clientId 需要)
  2. 原生登录:使用 Apple 的原生 Sign in with Apple 按钮和身份验证流程
  3. 身份令牌:Apple 返回包含用户信息的身份令牌(JWT)
  4. Supabase 身份验证:将身份令牌发送到 Supabase signInWithIdToken()

__CAPGO_KEEP_0__

  • iOS会自动使用您的应用程序的包ID进行Apple Sign-In
  • 确保您的包ID与Apple Developer Portal中配置的包ID匹配
  • 包ID应启用"Sign in with Apple"功能

Supabase Client ID

标题:Supabase Client ID

在Supabase中,配置Apple提供者时,请使用以下内容:

  • 客户端ID: 你的 iOS App ID (bundle ID) - 例如, app.capgo.plugin.SocialLogin

如果您还在使用 Android/Web,需要在 Supabase 的 Client ID field 中提供 App ID 和 Service ID(以逗号分隔)。

故障排除

故障排除

如果认证失败:

  • bundle ID 不匹配: 确认 Xcode 和 Apple Developer Portal 中的 bundle ID 一致
  • 能力未启用: 确认 Xcode 中的 "Sign in with Apple" 能力已启用
  • Supabase 配置: 确认 App ID 在 Supabase Apple 提供商设置中正确配置
  • 令牌验证失败: 检查 Apple 是否向您发送身份令牌
  • Review the 示例应用程序 code 以此为参考

继续使用 Supabase Apple Login on iOS Setup

标题:继续使用 Supabase Apple Login on iOS Setup

如果您正在使用 Supabase Apple Login on iOS Setup 来规划身份验证和帐户流程,连接它到 使用 @capgo/capacitor-social-login 为 Using @capgo/capacitor-social-login 中的原生功能 @capgo/capacitor-social-login 为 @capgo/capacitor 社交登录的实现细节 @capgo/capacitor 密钥 为 @capgo/capacitor 密钥的实现细节 @capgo/capacitor 原生生物识别 为 @capgo/capacitor 原生生物识别的实现细节, 和 双因素认证 为双因素认证的实现细节。