2014-11-09 105 views
0

我在我的网站中使用Google身份验证来简化用户帐户的实施。谷歌云端硬盘SDK登录为Rails的另一用户

当用户注销时,我清除会话变量并重置已验证的Google API Client对象。

问题是,当我想以其他用户身份登录时,我立即自动登录到我以前的Google帐户。

我该如何处理?

谢谢!

+0

我不确定在没有注销您的Google帐户的情况下是否可以控制该功能。通过您的Google帐户登录,我相信您随后将登录到您的Google帐户,而不仅仅是您的网站。堆栈溢出本身的工作方式完全相同。 – 2014-11-09 05:03:55

+0

你有什么建议可以帮助我解决这个问题吗? – user3903214 2014-11-09 05:09:21

+1

我认为它最终超出了你的控制范围,我没有使用Google登录,但在以前的项目中实现了twitter OAuth登录,并且其行为方式相同。 Google/Twitter实质上是利用机会在为您提供身份验证机制的同时将该用户签入其服务中。 – 2014-11-09 05:14:30

回答

0

请参阅https://developers.google.com/accounts/docs/OAuth2Login,特别是'提示'参数。您可以添加prompt = select_account来强制选择帐户。

一般来说,您不应该在测试之外添加提示参数。对于用户来说,切换帐户不是一种非常常见的模式 - 登录,注销,登录另一个帐户。更有可能:

  1. 他们只有一个帐户。
  2. 他们有多个帐户同时登录。
  3. 他们有多个帐户,并使用不同的浏览器配置孤立他们

对于1 & 3,自动登录的罚款。对于2,他们应该被提示选择默认的帐户,你不应该做任何特别的事情。

+0

感谢您的信息!你知道我可以用红宝石谷歌驱动器sdk吗? – user3903214 2014-11-13 02:06:34

+0

您可以通过选项将它传递给authorization_url()。请参阅https://github.com/google/signet/blob/master/lib/signet/oauth_2/client.rb – 2014-11-18 07:48:53

相关问题