Google OAuth登录:请勿让用户选择要使用的帐户

时间:2012-09-20 05:10:59

标签: oauth oauth-2.0

我依靠Google OAuth为我正在构建的网站授权用户。在我请求许可时,我已经知道他想要使用哪个Google帐户(我使用Google OAuth作为二级身份验证)。但是,如果用户一次登录多个Google帐户,Google会将用户重定向到SelectSession界面。

当用户被定向到https://accounts.google.com/o/oauth2/auth?...时,他以https://www.google.com/a/SelectSession结束。这是不必要的,因为我已经知道他想要使用哪个会话。

是否有人知道自动选择特定帐户的方法,以便用户无需在https://www.google.com/a/SelectSession手动选择会话?

2 个答案:

答案 0 :(得分:18)

如果您已经知道用户的电子邮件地址,则可以添加查询参数user_id =作为提示。如果用户以该帐户登录,则会跳过帐户选择并直接进入审批。

它不保证用户实际上会使用该帐户进行授权。它只是一个提示,他们仍然有机会切换到另一个帐户。如果您需要确定他们选择了哪个帐户,您需要事后验证(例如,调用userinfo端点。)

答案 1 :(得分:-1)

oAuth的观点是应用程序不知道登录/通过,所以你提出的建议是不可用的。如果您使用的是移动应用程序(未指定),则凭据将存储在Cookie中。

您可以删除用户登录帐户的Cookie,而不是选择新帐户,但为此您应该考虑退出以前的帐户。