Android用Supabase Googleログイン
インストール手順とこのプラグインの完全なマークダウンガイドを含むセットアップの質問をコピーしてください。
このガイドは、AndroidでGoogle Sign-InをSupabase Authenticationと統合するのに役立ちます。以下のステップを既に完了していることを前提としています。
完全な実装は、 example appの supabaseAuthUtils.ts ファイルにあります。このガイドでは、主な概念とその使用方法を説明します。
Authentication Helperの使用
「認証ヘルパーを使用する方法」のセクションこの 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」セクション.
重要な注意事項
「重要な注意事項」のセクションNonce ハンドリング
Nonce ハンドリングセクション__CAPGO_KEEP_0__のパターンに従って、Nonce実装が実装されています。 React Native Google Sign Inドキュメント:
rawNonceSupabaseの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の設定