跳过内容

Supabase Google 登录 (Android)

GitHub

本指南将帮助您在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 Works

How 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 前往 Supabase signInWithIdToken()
  • 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 的实现细节 双因素认证 双因素认证的实现细节