跳过内容

Supabase Google 登录(Android)

GitHub

本指南将帮助您在 Android 上将 Google Sign-In 与 Supabase 身份验证集成。假设您已经完成了:

Implementation

标题:实现

完整的实现可以在 示例应用程序的 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 Complete Code Reference section in the General Setup guide.

详细了解身份验证流程的工作原理,包括 nonce 生成、 JWT 验证和 Supabase 登录,请参阅

详细了解身份验证流程的工作原理,包括 nonce 生成、 JWT 验证和 Supabase 登录,请参阅

详细了解身份验证流程的工作原理,包括 nonce 生成、 JWT 验证和 Supabase 登录,请参阅

详细了解身份验证流程的工作原理,包括 nonce 生成、 JWT 验证和 Supabase 登录,请参阅

详细了解身份验证流程的工作原理,包括 nonce 生成、 JWT 验证和 Supabase 登录,请参阅 详细了解身份验证流程的工作原理,包括 nonce 生成、 JWT 验证和 Supabase 登录,请参阅:

  • rawNonce 前往 Supabase signInWithIdToken()
  • Supabase 生成一个哈希值 rawNonce 并将其与 Google Sign-In ID 令牌中的哈希值进行比较 nonceDigest Google Sign-In ID 令牌中的哈希值(SHA-256 哈希值,16 进制编码)
  • nonceDigest Google Sign-In API 中的参数 nonce 自动重试

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

  • 这处理了缓存令牌可能具有错误的 nonce 的情况
  • 如果重试也失败,则返回错误
  • goes to Supabase’s

故障排除

故障排除

如果认证失败:

  • 无效的受众: 验证您在 Google Cloud Console 和 Supabase 中的 Google Client ID 是否匹配
  • 签名不符: 检查控制台日志 - 函数将自动重试,但如果需要,可以手动注销
  • 令牌验证失败: 确保您使用 mode: 'online' 在初始化调用中获取 idToken
  • 查看 示例应用程序 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 中的实现细节 双因素认证 双因素认证的实现细节