使用Google作为特定用户ID进行身份验证

时间:2017-02-12 11:00:48

标签: javascript google-drive-api google-oauth google-authentication

我已将Google Drive UI与我的网络应用程序集成。当用户选择使用我的应用在云端硬盘中创建新文件时,会将其发送到

https://[mysite]?state={"folderId": "...", "action": "create", "userId":"..."}

我在浏览器中登录了多个Google帐户(A和B)。

帐户A选择创建文件,并在网址中以"userId": "[A's user id]"发送到我的应用。

然而,使用gapi.auth2 JS库:

authInstance.signIn()
// Listen for sign in, and then:
authInstance.currentUser.get().getAuthResponse().access_token

返回帐户B的访问令牌。

当我尝试在folderId中创建一个只能由帐户A访问的文件时,会导致404错误。

我的应用如何通过Google进行身份验证,作为选择创建文件的特定userId

Drive UI Integration的文档似乎没有涉及此问题,而且Google Sign-In for Websites的文档没有(据我所知)提供了一种指定我要登录的帐户的方法with(除了通过&#34这样的广泛过滤器;使用特定的G Suite域")。

更新HTTP Google OAuth docs允许客户指定login_hint,这是" email addresssub标识符&# 34; - 并不完全清楚" sub标识符"是。奇怪的是,Javascript API docs暗示login_hint是一个响应参数,而不是我可以设置的。

更新2 userId是一个不透明的Google提供的整数值,我无法识别。我的应用程序,包括Drive上传,在JS中是完全客户端的,没有长期数据存储。

0 个答案:

没有答案
相关问题