Firebase Google 身份验证,退出并再次登录将使用上次登录的帐户登录
Posted
技术标签:
【中文标题】Firebase Google 身份验证,退出并再次登录将使用上次登录的帐户登录【英文标题】:Firebase Google auth, signing out and logging in again will log in with the last signed account 【发布时间】:2022-01-03 03:14:51 【问题描述】:我正在使用 。如何让它显示“选择帐户”对话框?
这就是我注销的方法。
FirebaseAuth.getInstance().signOut();
然后我调用登录活动。
此外,注销按钮处于不同的活动中。
【问题讨论】:
【参考方案1】:这就是我注销的原因。
FirebaseAuth.getInstance().signOut();
当您尝试使用上述代码行退出时,基本上意味着您从 Firebase 退出仅。
我正在使用 Firebase Google 身份验证,退出并再次登录将使用上次登录的帐户登录。如何让它显示“选择帐户”对话框?
如我所见,您正在使用 Google 身份验证。退出 Firebase 并不意味着您会自动退出 Google。它没有。要退出 Google,您必须明确添加对 GoogleSignInClient#signOut() 方法的调用,如下所示:
googleSignInClient.signOut();
请不要忘记退出操作是异步,这意味着您必须等到操作完成,这可能需要一些时间。由于此方法返回Task 类型的对象,因此您可以使用addOnCompleteListener(OnCompleteListener listener) 方法来了解您何时完全退出。
【讨论】:
有效!但是您知道如果注销按钮与 mGoogleSignInClient 的活动不同,我该如何制作此代码。(我问这个问题是因为当我将 mGoogleSignInClient 设为静态以便能够从其他活动中访问它时,代码不起作用) 您应该将该对象传递给所需的活动,或者直接在那里创建它。或者为什么不直接使用Hilt注入。以上是关于Firebase Google 身份验证,退出并再次登录将使用上次登录的帐户登录的主要内容,如果未能解决你的问题,请参考以下文章
使用 Firebase 身份验证和谷歌登录时注销时“GoogleApiClient 尚未连接”
使用 Firebase 身份验证进行身份验证后检索 Google 访问令牌
在 Firebase 中使用 Google 身份验证未收到电子邮件
使用 google 登录可防止用户使用其他帐户再次登录 - iOS