メインコンテンツへスキップ

Supabase Appleログイン - iOSの設定

GitHub

このガイドでは、iOSでApple Sign-InをSupabase Authenticationと連携する方法を説明します。以下は完了済みであることを前提とします:

完全な実装は以下にあります: サンプルアプリの supabaseAuthUtils.ts ファイル。このガイドでは主要な概念と使い方を説明します。

この 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. 初期化: プラグインがアプリのbundle IDを自動的に使用します( clientId が必要です)
  2. ネイティブサインイン: AppleのネイティブSign in with Appleボタンと認証フローを使用します
  3. IDトークン: Appleからユーザー情報を含むidentity token (JWT) が返されます
  4. Supabase認証: identity tokenは以下を使用してSupabaseに送信されます signInWithIdToken()

ヘルパー関数がiOSプラットフォームを自動検出し、すべてを適切に設定します。

  • iOSでは、Apple Sign-Inにアプリのbundle IDが自動的に使用されます
  • bundle IDがApple Developer Portalの設定と一致していることを確認してください
  • bundle IDで「Sign in with Apple」のCapabilityが有効になっている必要があります

SupabaseでAppleプロバイダーを次のように設定します:

  • クライアント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 プロバイダー設定で App ID が正しく設定されているか確認してください
  • トークンの検証に失敗しました: Apple から identity token が正しく受信できているか確認してください
  • 以下を確認してください: サンプルアプリ code 参考用

使用している場合 Supabase Appleログイン - iOSの設定 認証とアカウントフローを計画するには、これを次と連携させてください @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 の実装の詳細、および 2要素認証 二要素認証の実装の詳細については。