公共计算机上的OAuth2.0 Google Drive Picker

时间:2013-11-14 22:29:09

标签: cookies google-api oauth-2.0 dropbox google-drive-api

我们最近在我们的应用程序中实现了Google Drive Picker功能。 api文档可以在https://developers.google.com/picker/docs/

找到

我们的工作流程如下

  • 用户点击“从Google云端硬盘导入”
  • 我们通过gapi.auth.authorize对用户进行身份验证,然后打开选择器。
  • 用户可以选择其中一个文件,然后我们下载。

我们遇到的问题是谷歌api将令牌和相关信息存储在客户端的cookie中。如果我们的用户退出我们的应用程序而不退出谷歌,那么在同一台机器上工作的另一个用户可以登录我们的应用程序,点击“从谷歌硬盘导入”并显示第一个用户的私人文件。我无法访问这些Cookie,因为它们归google.com域所有。

我意识到技术上如果第一个用户没有退出谷歌,第二个用户可以去google.com并访问他们的所有信息,包括他们的驱动器文件,但是对我来说感觉不对关于我们的某个用户退出我们的应用程序,然后其他用户代表我们的应用程序访问他们的Google云端硬盘文件

所以我问

  • 这只是OAuth2.0的副作用吗?我只需忍受它吗?
  • 或者我可以做些什么来控制选择器使用的令牌,或者当我们的用户注销时撤销访问权限?

旁注:我们在Dropbox的选择器上遇到了类似的问题。它只使用他们与dropbox的会话(不使用OAuth2.0)。如果用户退出我们的站点而没有退出Dropbox,则会发生同样的事情。我联系了他们的支持,他们说我唯一可能做的就是将用户重定向到https://www.dropbox.com/logout,这会将它们完全从Dropbox中注销。这不是真正理想的......

任何想法都会受到赞赏。

谢谢!

- 亚当

0 个答案:

没有答案