跳过内容

苹果 Supabase 登录 - 通用设置

GitHub

本指南将帮助您将 Apple Sign-In 与 Supabase 身份验证集成。 Apple Sign-In 提供了一个安全、专注于隐私的身份验证方法,适用于 iOS、Android 和 Web 平台。

先决条件

先决条件部分

在开始之前,请确保您有:

  1. 创建了一个 Supabase 项目

  2. 已阅读 Apple 登录通用设置 Apple OAuth认证设置指南

  3. 按照各个平台的指南,设置Apple OAuth认证以便于您的目标平台:

在Supabase中启用Apple OAuth提供者

在Supabase中启用Apple OAuth提供者
  1. 前往您的 Supabase 控制台

  2. 点击您的项目

    Supabase 项目选择器
  3. 请前往 Authentication 菜单

    Supabase 身份验证菜单
  4. 点击 Providers 标签

    找到
  5. 提供者 Apple Supabase Apple 提供者

    Apple 提供者
  6. 启用该 Apple 服务提供者

    Supabase Apple 服务提供者启用
  7. 填写客户端 ID 配置:

    Supabase Apple 服务提供者客户端 ID
  8. 点击 Save 按钮

    Supabase Apple 服务提供者保存

Voilà,您现在已经启用了Apple Sign-In与Supabase身份验证

使用身份验证助手

身份验证助手

完整的实现包括一个助手函数 authenticateWithAppleSupabase() 该函数处理整个Apple Sign-In流程与Supabase

  • 初始化Apple Sign-In
  • 处理身份验证流程(iOS原生,Android/Web上的OAuth重定向)
  • 从 Apple 中提取身份令牌
  • 使用身份令牌登录 Supabase

基本使用部分

复制到剪贴板
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(无需重定向URL,自动使用bundle ID)
  • Android:使用OAuth重定向流程(需要Service ID)
  • Web:使用OAuth弹出流程(需要Service ID和当前页面URL作为重定向)

函数返回Apple提供的身份令牌,然后使用 supabase.auth.signInWithIdToken().

继续从 Supabase Apple 登录 - 通用设置

标题为“继续从 Supabase Apple 登录 - 通用设置”

如果您正在使用 Supabase Apple 登录 - 通用设置 为了规划认证和帐户流程,连接它 使用@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的实现细节,并且 双因素认证 为双因素认证的实现细节。