コンテンツへスキップ

Supabase Apple Login - 一般設定

このガイドでは、Supabase認証にAppleサインインを統合する方法を説明します。Appleサインインは、iOS、Android、Webプラットフォーム全体で機能する、安全でプライバシー重視の認証方法を提供します。

開始する前に、以下を確認してください:

  1. Supabaseプロジェクトを作成済み

  2. Apple Login一般設定ガイドを読み、Apple OAuth認証情報を設定済み

  3. ターゲットプラットフォーム向けのApple OAuth認証情報を設定するため、それぞれのプラットフォーム固有のガイドに従った:

SupabaseでApple OAuthプロバイダーを有効化

Section titled “SupabaseでApple OAuthプロバイダーを有効化”
  1. Supabaseダッシュボードに移動

  2. プロジェクトをクリック

    Supabase Project Selector
  3. Authenticationメニューに移動

    Supabase Authentication Menu
  4. Providersタブをクリック

    Supabase Providers Tab
  5. Appleプロバイダーを見つける

    Supabase Apple Provider
  6. Appleプロバイダーを有効化

    Supabase Apple Provider Enable
  7. クライアントID設定を入力:

    Supabase Apple Provider Client ID
  8. Saveボタンをクリック

    Supabase Apple Provider Save

これで、Supabase認証でAppleサインインが有効になりました 🎉

完全な実装には、Supabaseを使用したAppleサインインフロー全体を処理するヘルパー関数authenticateWithAppleSupabase()が含まれています。この関数は以下を行います:

  • プラットフォーム固有の設定でAppleサインインを初期化
  • 認証フローを処理(iOSではネイティブ、Android/WebではOAuthリダイレクト)
  • AppleからIDトークンを抽出
  • IDトークンでSupabaseにサインイン
import { authenticateWithAppleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithAppleSupabase();
if (result.success) {
console.log('サインイン:', result.user);
// 認証されたエリアに移動
} else {
console.error('エラー:', result.error);
}

ヘルパー関数は、プラットフォーム固有の違いを自動的に処理します:

  • iOS: ネイティブなAppleサインインを使用(リダイレクトURL不要、自動的にバンドルIDを使用)
  • Android: バックエンドEdge Functionを使用したOAuthリダイレクトフロー(Service IDが必要)
  • Web: OAuthポップアップフロー(Service IDと現在のページURLをリダイレクトとして必要)

この関数はAppleからIDトークンを返し、それを使用してsupabase.auth.signInWithIdToken()でSupabaseに認証します。