Skip to content

Supabase インテグレーション イントロダクション

GitHub

This tutorial will guide you through setting up Supabase Authentication with the Capacitor Social Login plugin. This integration allows you to use native social login providers (Google, Apple, Facebook, Twitter) on mobile platforms while leveraging Supabase Auth for backend authentication and PostgreSQL for data storage.

  • Supabase Authenticationの設定方法
  • Capacitor Social LoginプラグインをSupabase Authと統合する方法
  • Android、iOS、Web向けのプラットフォーム固有の設定
  • Supabaseのためのnonceを安全に処理する方法

始める前に、以下のことを確認してください

  1. Supabase Project

    • プロジェクトを作成する Supabase ダッシュボード
    • Google OAuth プロバイダーを有効にする
    • Supabase プロジェクトの URL と anon キーを取得する
  2. Supabase JS SDK

    • プロジェクトに Supabase をインストールする:
      ターミナル ウィンドウ
      npm install @supabase/supabase-js
  3. Capacitor プロジェクト

    • 既存の Capacitor アプリケーション
    • Capacitor Social Login プラグインがインストールされている:
      ターミナル ウィンドウ
      npm install @capgo/capacitor-social-login
      npx cap sync
  4. Google のセットアップ (プラットフォームごと)

リポジトリで利用可能な完全な実行可能な例があります:

Code リポジトリ: code リポジトリをここで見つけることができます

この例のアプリケーションでは、以下の機能を実装しています:

  • Supabaseによるメール/パスワード認証
  • Google Sign-Inの統合(Android、iOS、Web)
  • A simple key-value store using Supabase PostgreSQL tables
  • ユーザー固有のデータ ストレージに Row Level Security (RLS) を使用

セキュリティのために Supabase には特別な非接触ハンドリングが必要です。実装は React Native Google Sign In ドキュメントに従っています。 生成する:

  • (URL 安全のランダム文字列) rawNonce SHA-256 でハッシュして
  • Pass nonceDigest
  • __CAPGO_KEEP_0__ nonceDigest Google Sign-In にアクセスする
  • Pass rawNonce Supabase (内部でハッシュ化して比較する) へのアクセス

例の実装には、次のことを確認するために JWT 検証が含まれています。

  • トークンの受信者が、設定済みの Google Client ID と一致する
  • nonce が期待どおりのハッシュと一致する
  • 検証失敗時の自動リトライ (iOS に特に重要)

プラットフォーム固有の考慮事項

プラットフォーム固有の考慮事項のセクション
  • iOS: Token キャッシングは、nonce の問題を引き起こす可能性があります - この実装では、この問題を自動的に処理します。
  • Web: 必ず呼び出す isLoggedIn() on mount で OAuth リダイレクトを処理する
  • Android: SHA-1 フィンガープリント設定の標準実装

セットアップガイドを続けてください:

Supabase Integration イントロダクションから続けてください

セクション「Supabase Integration イントロダクションから続けてください」

Capgo を使用している場合 Supabase Integration イントロダクション 認証とアカウントフローの計画に使用し、Capgo と接続する Using @capgo/capacitor-social-login for the native capability in Using @capgo/capacitor-social-login, @capgo/capacitor-social-login for the implementation detail in @capgo/capacitor-social-login, @capgo/capacitor-passkey for the implementation detail in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric @capgo/capacitor-native-biometricの実装詳細について 2要素認証 2要素認証の実装詳細について