3

在我的 Flutter iOS 应用中,Firebase 退出 Google 失败。我使用这些行退出 Google:

  await GoogleSignIn().signOut();
  await FirebaseAuth.instance.signOut();

然后我用 Apple 登录。但是,当我检查 时FirebaseAuth.instance.currentUser.providerData,除了 apple.com 提供程序之外,google.com 提供程序仍然存在。不应该删除这个 google.com providerDataGoogleSignIn().signOut()吗?

编辑:我的期望是这FirebaseAuth.instance.currentUser.providerData将是当前登录的身份验证提供程序的列表。因此,我希望当我退出 Google 时,providerData会删除 google.com 条目。也许这种期望是错误的,如果是这样,我怎么知道用户当前登录的是哪个提供商?因此,例如,如果我想获取用户名,我如何知道从哪个 providerData 中提取?

4

1 回答 1

0

我的问题源于对providerData工作原理的误解。我认为它将包含当前登录的提供程序。相反,它包含与 Firebase 中的用户关联的所有提供程序。

为了记录用户名,我在登录过程中记录了用户名,此时应用程序知道正在登录哪个提供商。

于 2020-09-28T19:28:55.890 回答