如何将login_hint传递给gapi.auth.authorize?

pin*_*yid 3 javascript google-api google-oauth

我似乎记得有一个参数gapi.auth.authorize指定一个login_hint绕过帐户选择器.但谷歌和我一样,我找不到它.这只是一场梦吗?

我的问题是我遇到了帐户选择器在当前窗口下弹出的问题,因此用户错过了.

或者问一个问题的另一种方式可能是,Javascript库如何公开login_hint和incremental auth https://developers.google.com/accounts/docs/OAuth2UserAgent#incrementalAuth等参数?

Tyl*_*ich 10

Google的OAuth 2.0文档在"形成URL"标题下指出login_hint接受了一个参数(例如login_hint=email@fake.com).

JavaScript客户端库文件,下gapi.auth.authorize,规定:

如果密钥不是预期的OAuth 2.0参数之一(请参见下文),则会将其作为查询参数添加到URI中.

所以你应该能够做到这一点:

gapi.auth.authorize({
    // Parameters here...
    'login_hint': 'email@fake.com',
    // ...Parameters here
}, callbackFunc);
Run Code Online (Sandbox Code Playgroud)

该库将login_hint在请求URL中包含该参数.

  • 请注意,您还需要传递`authuser:-1`.Google甚至在内部执行此操作:https://github.com/googledrive/zipextractor/blob/6086f0f17f5d3ee5faded4ed3da6d08c8173e52d/js/driveapi/authmanager.js#L37 (2认同)