Supabase Google 登录(Android)
复制一个设置提示,包含安装步骤和本插件的完整Markdown指南。
本指南将帮助您在Android上将Google Sign-In与Supabase Authentication集成。假设您已经完成了:
- Google Login Android设置 the
- the Supabase Google 登录 - 通用设置.
实现
标题:实现完整的实现可以在 示例应用的 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参考,请参阅.
完整的__CAPGO_KEEP_0__参考
重要注意事项重要注意事项
nonce 处理nonce 处理 Google Sign In 文档中的 nonce 实现模式:
rawNonce前往 SupabasesignInWithIdToken()- Supabase 生成一个哈希值
rawNonce并将其与 ID 令牌中的nonceDigest(SHA-256 哈希值,16 进制编码) nonceDigest从 Google Sign-In 中获取nonce参数传递给 Google Sign-In API
自动重试
标题:自动重试实现中包含自动重试逻辑:
- 如果 JWT 验证在第一次尝试时失败,则会注销并重试一次
- 这处理了缓存令牌可能具有错误的 nonce 的情况
- 如果重试也失败,则会返回错误
故障排除
故障排除如果认证失败:
- 无效的受众: 验证您在 Google Cloud Console 和 Supabase 中的 Google Client ID 是否匹配
- 签名不符: 检查控制台日志 - 函数将自动重试,但如果需要,可以手动注销
- 令牌验证失败: 确保您使用
mode: 'online'在初始化调用中获取 idToken - 查看 示例应用程序 code 参见参考资料
继续使用 Supabase Google 登录(Android)
继续使用 Supabase Google 登录(Android)如果您正在使用 Supabase Google 登录(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 中的实现细节 双因素认证 双因素认证的实现细节