使用 google 登录可防止用户使用其他帐户再次登录 - iOS

Posted

技术标签:

【中文标题】使用 google 登录可防止用户使用其他帐户再次登录 - iOS【英文标题】:Sign in with google prevents the user to sign in again with different account - iOS 【发布时间】:2018-08-21 16:56:55 【问题描述】:

我正在使用 google 身份验证通过 firebase 登录。 身份验证过程运行良好,我能够创建凭据并进行身份验证。

我的问题是,在从 firebase 和 google 退出后,用户尝试再次使用 google 登录。此时 google 将自动使用之前使用的帐户进行身份验证。 我从 google api 尝试了注销和断开连接选项,但结果是一样的。

我部分发现了我的问题,这里重现步骤:

    未在应用中使用 google 登录,也未使用 google 帐户在设备上登录 safari 使用 Google 帐户登录应用程序 现在我使用同一个帐户在应用和 Safari 中登录 当我从应用程序中退出时,Safari 仍会通过该用户进行身份验证 在我从设备上的 Safari 中注销 google 帐户之前,我无法在应用中看到帐户选择

如果 safari(第 1 点)已使用其他 Google 帐户登录,则不会出现此问题。在这种情况下,我将始终在应用程序中的两个帐户之间进行选择。

有没有办法从应用程序中退出并在再次使用 google 登录时始终显示帐户选择?

【问题讨论】:

您使用什么SDK登录应用程序? 我也有同样的问题!使用 pod 'GoogleSignIn','= 4.1.2'。这似乎是最近才开始的。我试图找到一个合适的谷歌错误跟踪器,但似乎没有一个用于登录 sdk 的。 我在 GitHub 上的 googlesamples/google-services 存储库中写了一个错误报告 github.com/googlesamples/google-services/issues/357 这个问题有什么解决办法吗?面临同样的问题。 现在工作正常。 【参考方案1】:

有许多身份验证 URI 参数。其中之一是“提示”,它可能具有“select_account”值。它帮助我解决了 Auth0 服务 Google 集成的相同问题。如果 SDK 允许设置登录参数,可能对您的问题有用。 在此处查看文档:https://developers.google.com/identity/protocols/OpenIDConnect#authenticationuriparameters

【讨论】:

以上是关于使用 google 登录可防止用户使用其他帐户再次登录 - iOS的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Google 身份验证,退出并再次登录将使用上次登录的帐户登录

Google Plus 登录帐户选择对话框问题

使用Firebase Google用户身份验证更改用户

我可以使用 AccountManager 让用户使用他们的 Google 帐户登录吗?

如何在使用 Google 登录按钮时不将 Google 帐户添加到 Android 手机

Firebase 使用 Google 帐户覆盖登录