Flutter:将匿名用户链接到 Supabase 中的 google 帐户

问题描述 投票:0回答:1

我最近开始使用来自 Firebase 的 Supabase,我喜欢它。我倾向于完全迁移,因为它的 Postgres 数据库我认为这是一个优点。但我找不到解决方案的一件事是如何通过将匿名用户链接到 Google 帐户将其转换为非匿名用户。

我已经使用 google_sign_in 设置了 Google 登录,并且匿名登录可以正常工作,但我对如何合并两者感到困惑。

我启用了手动链接,但从匿名用户运行:

await supabase.auth.linkIdentity(OAuthProvider.google);

抛出:

AuthException(message: Unsupported provider: missing OAuth secret, statusCode: 400)

我无法使用

signInWithIdToken()
将匿名帐户链接到谷歌,因为它会从头开始创建一个全新的用户。需要保留用户 ID,因为可能已经有数据了:

  ...
  // BAD: Creates new user with new id
  final supabase = Supabase.instance.client;
  return supabase.auth.signInWithIdToken(
    provider: OAuthProvider.google,
    idToken: idToken,
    accessToken: accessToken,
  );

我到底在哪里获取 OAuth 密钥?对于 Google 帐户,我应该使用

signInWithOAuth()
而不是
signInWithIdToken()
吗?感谢大家的帮助。

flutter dart supabase
1个回答
0
投票

你曾经让它工作过吗?我与不和谐提供商遇到了类似的问题

© www.soinside.com 2019 - 2024. All rights reserved.