コンテンツにジャンプ

Android用Supabase Googleログイン

このガイドは、AndroidでGoogle Sign-InをSupabase Authenticationと統合するのに役立ちます。以下のステップを既に完了していることを前提としています。

完全な実装は、 example appの supabaseAuthUtils.ts ファイルにあります。このガイドでは、主な概念とその使用方法を説明します。

この authenticateWithGoogleSupabase 関数は、認証フロー全体を処理します:

import { authenticateWithGoogleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithGoogleSupabase();
if (result.success) {
console.log('Signed in:', result.user);
// Navigate to your authenticated area
} else {
console.error('Error:', result.error);
}

「How It Works」のセクションを参照してください。 General Setupガイドの「How It Works」セクション.

「Complete code Reference」の完全な説明については、 General Setupガイドの「Complete Code Reference」セクション.

__CAPGO_KEEP_0__のパターンに従って、Nonce実装が実装されています。 React Native Google Sign Inドキュメント:

  • rawNonce Supabaseの signInWithIdToken()
  • Supabaseは rawNonce をハッシュ化します。 nonceDigest を比較します。
  • nonceDigest はGoogle Sign-Inから取得したIDトークンに含まれています。 nonce はSHA-256ハッシュ、16進数エンコードされたものをGoogle Sign-In APIの

実装には自動リトライロジックが含まれています:

  • 最初の試行でJWT検証が失敗した場合、ログアウトし、1度リトライします
  • キャッシュされたトークンが不正なnonceを持っている可能性があるケースを処理します
  • リトライも失敗した場合、エラーが返されます

認証が失敗した場合:

  • 無効な受信者: Google Cloud ConsoleとSupabaseでGoogle Client IDが一致していることを確認してください
  • nonceの不一致: コンソールログを確認してください - 関数は自動的にリトライしますが、必要に応じて手動でログアウトすることもできます
  • トークン検証が失敗: 使用していることを確認してください mode: 'online' initialize呼び出しに idToken を取得するために
  • 例を確認してください 参考用の例アプリ code iOS上のSupabase Google Loginの設定