2017-02-08 146 views
1

使用Google Sign In SDK,用户可以通过OAuth2登录,并请求一些默认范围。如果不预先要求应用程序可能需要的每个范围,而是在稍后请求其他范围以便在注册时不压倒用户,这可能是有益的。OAuth2请求其他范围

谷歌概述了这样做的过程here

问题是,用户使用Google登录后,在请求其他作用域时,用户可以在返回到我的应用程序之前切换Google帐户并使用其他帐户授权这些作用域。

有没有类似于调用[GIDSignIn signIn]的方法来明确指定我要登录哪个用户并且不允许更改帐户的选项?

回答

1

我对Google Sign in SDK不熟悉。我所做的大部分工作都是自己编写的,所以我不知道SDK如何工作。然而,据说认证服务器确实支持所谓的Login_hint,它应该允许你强制他们使用特定的用户。

login_hint电子邮件地址或子标识符当应用程序 知道它正试图验证该用户,它可以提供此 参数作为提示给认证服务器。通过此提示 可以预先填写登录表单上的电子邮件框或选择正确的多登录会话,从而简化登录流程。

更多信息

login_hint可以是用户的电子邮件地址或子串, 这相当于用户的谷歌ID。如果您未提供登录提示 并且用户当前已登录,则同意屏幕 包括批准请求以将用户的电子邮件地址发送到您的应用的 。 (更多信息请登录login_hint。)

如果内存服务Google Sign in SDK确实可以使用openId connect,那么应该可以。

+0

感谢您的建议。我尝试将loginHint参数设置为用户的电子邮件,虽然在请求选择帐户时它似乎不再显示任何其他Google帐户,但它仍显示“使用其他帐户”按钮。这当然是一种改进,但它仍然使用户能够登录到另一个帐户。 –