Supabase Google 登录 (Android)
复制一个设置提示,包含安装步骤和本插件的完整Markdown指南。
本指南将帮助您在Android上将Google Sign-In与Supabase身份验证集成。假设您已经完成了:
实现
标题:实现完整的实现可以在 示例应用的 supabaseAuthUtils.ts 文件中找到。这个指南解释了关键概念和如何使用它。
使用身份验证助手
标题:使用身份验证助手The 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
How It WorksHow It Works 详细了解认证流程的工作原理,包括 nonce 生成、 JWT 验证和 Supabase 登录,请参阅.
For the complete code reference, see the 详细了解完整的 Code 参考,请参阅.
General Setup 指南中的 Complete __CAPGO_KEEP_0__ Reference 部分
重要注意事项重要注意事项
nonce 处理nonce 处理 The nonce 实现遵循了 React Native Google Sign In 文档中的模式:
rawNonce前往 SupabasesignInWithIdToken()- Supabase 生成一个哈希值
rawNonce并将其与 ID 令牌中的nonceDigest(SHA-256 哈希值,16 进制编码) nonceDigest参数在 Google Sign-In API 中nonce自动重试
标题:自动重试
实现包括自动重试逻辑:如果 JWT 验证在第一次尝试时失败,则注销并重试一次
- 这处理了缓存令牌可能具有错误的 nonce 的情况
- 如果重试也失败,则返回错误
- __CAPGO_KEEP_0__
故障排除
故障排除如果认证失败:
- 无效的受众: 验证您在 Google Cloud Console 和 Supabase 中的 Google Client ID 是否匹配
- 签名不符: 检查控制台日志 - 函数将自动重试,但如果需要,可以手动注销
- 令牌验证失败: 确保您使用
mode: 'online'在初始化调用中获取 idToken - 查看 示例应用程序 code 为了参考
继续使用 Supabase Google 登录(Android)
继续使用 Supabase Google 登录(Android)如果您正在使用 Supabase Google 登录(Android) 来规划身份验证和帐户流程,连接它到 使用 @capgo/capacitor 社交登录 为使用 @capgo/capacitor 社交登录的原生能力 @capgo/capacitor 社交登录 为 @capgo/capacitor 社交登录的实现细节 @capgo/capacitor Passkey 为 @capgo/capacitor Passkey 的实现细节 @capgo/capacitor-native-biometric 为 @capgo/capacitor-native-biometric 的实现细节 双因素认证 双因素认证的实现细节