谷歌 OAuth 记住所选帐户


Google OAuth to remember chosen account

我已经在我正在处理的网站上实现了Google OAuth 2.0登录。它工作正常,除非用户在同一浏览器上使用两个或多个不同的帐户登录。它要求他选择他想要使用哪一个。但它每次都要求用户选择帐户。有没有办法记住这一点,这样用户只能第一次选择该帐户,然后自动使用该帐户登录他?

您可以在向Google的请求中输入hd=domain.com参数,但这仅在两个登录的帐户来自不同的域时才有帮助,并且它可以使用@domain.com 帐户登录用户。

我在某处读到您可以将user_id帐户作为参数发送给Google(我想这将是电子邮件地址),但是在这种情况下,我在登录之前不知道用户的电子邮件地址。

我认为如果您使用 OpenID,则此行为是相同的。

我正在使用Google的PHP OAuth库。

谢谢安德烈

谷歌应该有一个cookie集,使OAuth应用程序能够告诉当前使用哪个帐户。

如果您

知道要登录的电子邮件地址,则可以使用 login_hint 参数,他们不会看到帐户选择器。 请参阅 https://developers.google.com/accounts/docs/OAuth2Login#sendauthrequest