Supabase Google Android 登录
安装
简介
简介部分本指南将帮助您在 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);}如何工作
标题:如何工作有关身份验证流程的详细说明,包括 nonce 生成、 JWT 验证和 Supabase 登录,请参见《通用设置指南》中的 有关完整__CAPGO_KEEP_0__参考,请参见《通用设置指南》中的.
完整code参考 Complete Code Reference section in the General Setup guide.
重要注意事项
重要注意事项随机数处理
随机数处理Capgo 的 nonce 实现遵循来自 React Native Google Sign In 文档的模式 跳转到 Supabase:
rawNonceSupabase 生成一个哈希值signInWithIdToken()- 并与
rawNonce从 Google Sign-In 中的 ID 令牌中获取nonceDigestSHA-256 哈希值(16 进制编码) nonceDigest参数在 Google Sign-In API 中nonce__CAPGO_KEEP_0__
自动重试
自动重试实现包括自动重试逻辑:
- 如果 JWT 验证在第一次尝试时失败,它会注销并尝试一次
- 这处理了缓存令牌可能具有错误的 nonce 的情况
- 如果重试也失败,则返回错误
故障排除
故障排除如果认证失败:
- 无效的受众: 验证您的 Google Client ID 在 Google Cloud Console 和 Supabase 中都匹配
- nonce 不匹配: 检查控制台日志 - 函数将自动重试,但如果需要,可以手动注销
- Token 验证失败: 确保您使用
mode: 'online'在初始化调用中获取 idToken - 查看示例应用 __CAPGO_KEEP_0__ example app code 从 Supabase Google Login on Android 继续
标题:从 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 用于@capgo/capacitor-native-biometric的实现细节 两因素认证 用于两因素认证的实现细节