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