跳过内容

Supabase Google Android 登录

GitHub

This guide will help you integrate Google Sign-In with Supabase Authentication on Android. It is assumed that you have already completed:

texts":["Implementation",""Implementation"","完整的实现可以在","应用示例的","文件中找到。 本指南解释了关键概念和如何使用它。", "使用身份验证助手" supabaseAuthUtils.ts "使用身份验证助手"

该","函数处理整个身份验证流程:

"复制到剪贴板"

"如何工作" 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);
}

"如何工作"

"如何工作"

有关详细的说明,请参阅《通用设置指南》中的 有关详细的说明,请参阅《通用设置指南》中的.

For the complete code reference, see the Complete Code Reference section in the General Setup guide.

重要注意事项

重要注意事项

非对称处理

非对称处理

Capgo 的实现遵循 Capgo 的实现遵循:

  • rawNonce 转到 Supabase 的 signInWithIdToken()
  • Supabase 生成了一个散列 rawNonce 并将其与Google Sign-In ID令牌中的内容进行比较 nonceDigest (SHA-256哈希,十六进制编码)将发送到Google Sign-In API的参数
  • nonceDigest 参数 nonce 自动重试

如果第一次尝试JWT验证失败,则注销并重试一次

  • 这处理了缓存令牌可能具有错误的非法令牌的案例
  • 如果重试也失败,则返回错误
  • 故障排除

标题:故障排除

__CAPGO_KEEP_0__

If authentication fails:

  • 无效受众: 确认您在 Google Cloud Console 和 Supabase 中的 Google Client IDs 匹配
  • Nonce 不匹配: 检查控制台日志 - 函数将自动重试,但如果需要,请手动注销
  • 令牌验证失败: 确保您使用 mode: 'online' 在初始化调用中获取 idToken
  • 查看 示例应用程序 code 以获取参考

如果您正在使用 Supabase Google 登录 来规划认证和账户流程,连接它与 使用 @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 的实现细节,和 双重认证 双重认证实现细节。