Supabase 連携の概要
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
このチュートリアルでは、Capacitor Social Login プラグインを使用して Supabase Authentication を設定する方法を説明します。この統合により、モバイルプラットフォームでネイティブのソーシャルログインプロバイダー(Google、Apple、Facebook、Twitter)を利用しつつ、バックエンドの認証には Supabase Auth、データストレージには PostgreSQL を活用できます。
学習内容
「学習内容」セクション- Supabase Authentication の設定方法
- Supabase Auth と Capacitor Social Login プラグインの統合方法
- Android、iOS、Web それぞれのプラットフォーム固有の設定
- Supabaseでnonceを安全に扱う方法
必要なもの
「事前準備」セクション開始前に、以下が用意されていることを確認してください:
-
Supabaseプロジェクト
- プロジェクトを作成: Supabase ダッシュボード
- Google OAuthプロバイダーを有効にする
- SupabaseプロジェクトのURLとanonキーを取得する
-
Supabase JS SDK
- プロジェクトにSupabaseをインストールします:
ターミナル npm install @supabase/supabase-js
- プロジェクトにSupabaseをインストールします:
-
Capacitor プロジェクト
- 既存の Capacitor アプリケーション
- インストール済みの Capacitor Social Login プラグイン
ターミナル npm install @capgo/capacitor-social-loginnpx cap sync
-
プラットフォーム別の Google 設定
- 対象プラットフォームの Google サインイン設定を完了してください:
サンプルアプリ
「サンプルアプリケーション」セクション完全に動作するサンプルはリポジトリで公開しています:
Code リポジトリ: code リポジトリはこちらです
サンプルアプリのデモ内容:
- Supabase によるメール/パスワード認証
- Google Sign-In 連携(Android、iOS、Web)
- Supabase PostgreSQL テーブルを使ったシンプルなキーバリューストア
- Row Level Security(RLS)によるユーザー固有データの保存
実装の重要ポイント
「実装のポイント」セクションNonceの処理
「Nonceの処理」というセクションSupabaseではセキュリティのため、nonceの特別な処理が必要です。実装は React Native Google Sign Inのドキュメント:
- を生成します
rawNonce(URLセーフなランダム文字列) - SHA-256でハッシュ化して
nonceDigest - 渡す
nonceDigestをGoogle Sign-Inに - 渡す
rawNonceをSupabaseに送信します(Supabaseは内部でハッシュ化して比較します)
JWTの検証
「JWT Validation」セクションサンプル実装には、以下を保証するための JWT validation が含まれています:
- Token の audience が設定済みの Google Client ID と一致すること
- nonce が期待される digest と一致すること
- validation 失敗時の自動リトライ(特に iOS で重要)
プラットフォームごとの注意点
「Platform-Specific Considerations」セクション- iOSと: Token キャッシュにより nonce 問題が発生する可能性があります - 実装ではこれを自動的に処理します
- Web:呼び出しが必要
isLoggedIn()マウント時にOAuthリダイレクトを処理する - Androidでは: SHA-1フィンガープリント設定を用いた標準的な実装
次のステップ
「次のステップ」セクションセットアップガイドに進む:
- Supabase Google Login - 基本設定 - 概要と前提条件
- Android セットアップ - Android固有の設定
- iOSのセットアップ - iOS専用の設定
- Web の設定 - Web 固有の設定
Appleでサインイン
「Apple Sign-In」セクション- Supabase Appleログイン - 基本設定 - 概要と前提条件
- iOSのセットアップ - iOS専用の設定
- Android セットアップ - Android固有の設定
Supabase連携の導入から続ける
「Supabase 統合の紹介」から続けます使用している場合 Supabase 連携の概要 認証とアカウントフローを計画するには、これを次と連携させてください @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要素認証 二要素認証の実装の詳細については。