WebでのSupabase Apple Login
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
前提条件
「前提条件」セクションこのガイドでは、Web環境でApple Sign-InをSupabase Authenticationに統合する方法を解説します。以下の準備が完了していることを前提としています:
実装方法
「実装」セクション完全な実装は以下にあります: サンプルアプリの supabaseAuthUtils.ts ファイル。このガイドでは主要な概念と使い方を説明します。
Authentication Helperの使用方法
「Authentication Helperの使用方法」セクションこの 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);}仕組み
「仕組み」セクションWeb版では、Apple Sign-Inは以下のOAuthポップアップフローを使用します:
- 初期化:プラグインはService IDと現在のページURLをリダイレクトURLに指定して初期化されます
- OAuthポップアップ:AppleのOAuthページをポップアップウィンドウで開きます
- ユーザー認証:ユーザーはポップアップ内でAppleで認証します
- IDトークン: Appleからユーザー情報を含むidentity token (JWT) が返されます
- Supabase認証: identity tokenは以下を使用してSupabaseに送信されます
signInWithIdToken()
ヘルパー関数がWebプラットフォームを自動検出し、すべてを適切に設定します。
重要な注意事項
「重要事項」セクションService IDの設定
「Service ID設定」セクション- WebではApple Service IDが必要です(Androidと同じ)
- Service IDは、Apple Developer Portalで正しいReturn URLとともに設定する必要があります
- Apple Developer Portalの許可済みドメインに、自分のドメインが追加されていることを確認してください
リダイレクトURL
「Redirect URL」セクション- Webの場合、リダイレクトURLは自動的に次のように設定されます:
window.location.href(現在のページのURL) - これは Apple Developer Portal で設定した Return URL のいずれかと一致している必要があります
- 末尾のスラッシュありと、なしの両方の URL が Apple Developer Portal に設定されていることを確認してください
Supabase Client ID
「Supabase Client ID」というセクションSupabaseでAppleプロバイダーを次のように設定します:
- クライアントID: Apple Service ID (例:
com.example.app.service)
iOS も併用する場合は、Supabase の Client ID フィールドに App ID と Service ID の両方をカンマ区切りで入力してください。
ヘルパー関数の更新
「Update the Helper Function」セクションを使用する場合、 authenticateWithAppleSupabase helper function を使用すると、 必ず update the clientId Apple Service ID に一致するよう更新してください:
await SocialLogin.initialize({ apple: { clientId: isIOS ? undefined // iOS uses bundle ID automatically : 'your.service.id.here', // Your Apple Service ID for Web and Android redirectUrl: redirectUrl, },});トラブルシューティング
「トラブルシューティング」セクション認証に失敗した場合:
- Service ID の不一致: Apple Developer Portalとcodeの両方で、Service IDが一致していることを確認してください
- Return URLが設定されていません: 現在のページURL(末尾のスラッシュの有無両方)がApple Developer Portalに設定されていることを確認してください
- ポップアップがブロックされました: ブラウザの設定を確認してください。一部のブラウザではデフォルトでポップアップがブロックされます
- 許可されていないドメインです: Apple Developer Portalの許可済みドメインに、使用しているドメインが追加されていることを確認してください
- Supabaseの設定: SupabaseのAppleプロバイダー設定で、Service IDが正しく設定されていることを確認してください
- 以下を確認してください: サンプルアプリ code 参考用
Supabase Apple Login on Web から続ける
「Web版Supabase Apple Loginからの継続」セクション使用している場合 Web版Supabase Apple Login 認証とアカウントフローを計画するには、これを次と連携させてください @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要素認証 二要素認証の実装の詳細については。