Android 端 Supabase Google Login
复制一条配置 prompt,包含安装步骤和该插件的完整 Markdown 指南。
本指南将帮助你在 Android 上将 Google Sign-In 与 Supabase Authentication 进行集成。前提是你已经完成了:
实现方式
标题为“实现”的章节完整实现可在 示例应用的 supabaseAuthUtils.ts 文件。本指南介绍其核心概念及使用方法。
使用 Authentication Helper
“使用 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);}工作原理
标题为“工作原理”的章节有关身份验证流程(包括 nonce 生成、JWT 验证和 Supabase 登录)的详细说明,请参阅 常规设置指南中的“工作原理”部分.
欲查看完整的 code 参考文档,请参阅 完成常规设置指南中的 Code 参考章节.
重要注意事项
标题为“重要注意事项”的章节Nonce 处理
标题为“Nonce 处理”的部分nonce 实现遵循以下模式: React Native Google Sign In 文档:
rawNonce发送至 Supabase 的signInWithIdToken()- Supabase 会对以下内容进行哈希处理:
rawNonce并将其与以下内容进行比对:nonceDigest该内容包含在 Google Sign-In 的 ID token 中 nonceDigest(SHA-256 哈希,十六进制编码)会传给nonceGoogle Sign-In API 中的参数
自动重试
“自动重试”章节实现中包含自动重试逻辑:
- 如果首次 JWT 验证失败,系统会执行登出并重试一次
- 这可以处理缓存 token 可能包含错误 nonce 的情况
- 如果重试仍然失败,则返回错误
故障排除
“故障排除”章节如果身份验证失败:
- Audience 无效:请确保 Google Cloud Console 和 Supabase 中的 Google Client ID 一致
- Nonce 不匹配:检查 console logs —— 函数会自动重试,但如有必要,你可以先手动退出登录
- Token 验证失败:请确保使用
mode: 'online'在 initialize 调用中获取 idToken - 查看 示例应用 code 供参考
继续完成 Android 端 Supabase Google Login 配置
标题为“继续完成 Android 端 Supabase Google Login 配置”的部分如果你正在使用 Android 端 Supabase Google Login 规划身份验证和账户流程,并将它与 使用 @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 中的实现细节,以及 双重身份验证 了解双因素认证中的实现细节。