我依靠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手动选择会话?
答案 0 :(得分:18)
如果您已经知道用户的电子邮件地址,则可以添加查询参数user_id =作为提示。如果用户以该帐户登录,则会跳过帐户选择并直接进入审批。
它不保证用户实际上会使用该帐户进行授权。它只是一个提示,他们仍然有机会切换到另一个帐户。如果您需要确定他们选择了哪个帐户,您需要事后验证(例如,调用userinfo端点。)
答案 1 :(得分:-1)
oAuth的观点是应用程序不知道登录/通过,所以你提出的建议是不可用的。如果您使用的是移动应用程序(未指定),则凭据将存储在Cookie中。
您可以删除用户登录帐户的Cookie,而不是选择新帐户,但为此您应该考虑退出以前的帐户。