【问题标题】:OAuth2 - Safety of permanent access to my accountOAuth2 - 永久访问我的帐户的安全性
【发布时间】:2014-12-11 04:37:36
【问题描述】:

我希望允许用户在我的网站上下载文件,但有些需要一定数量的积分。我使用的是小型主机,因此它们存储在我购买的额外空间的 Google Drive 帐户中。

我将 access_type 设置为“离线”,并且我正在使用刷新令牌来更新访问令牌(如果它过期)。主要问题是,控制台显示包含令牌的请求。

我想知道,用户是否可以使用 access_token 来访问文件,尽管他们没有足够的积分?隐藏请求的最佳方式是什么?

【问题讨论】:

  • 您指的是哪个“控制台”?如果它是浏览器的 Javascript 控制台,那将是一个问题,因为拥有足够积分的用户能够访问该控制台,假设您不向没有足够积分的用户颁发访问令牌.
  • 是的,我指的是浏览器的控制台。根据stackoverflow.com/questions/20880489/…,我不应该透露访问令牌。如果用户有权限下载文件,但没有其他权限怎么办?他会知道令牌,但他可以用它来下载另一个文件吗?

标签: oauth-2.0 access-token


【解决方案1】:

好的,我想我明白了你的问题;实际上,访问令牌应该具有与之关联的权限,只允许它代表您下载特定文件,但我认为 Google 的访问令牌不可能有这种粒度;所以你必须做的是在你的服务中实现你自己的系统,允许这种粒度

因此您只需将访问令牌保留在您的后端服务中,并让 Javascript 客户端调用您的后端服务以获取特定文件,然后检查您的后端服务是否允许用户以及是否允许传递向 Google 提出请求

编辑:这里有描述:http://developers.google.com/+/web/signin/server-side-flow

【讨论】:

  • 对不起,我的意思是完全不同的东西。身份验证时,您可以看到对 Google 服务器的请求,其中包含 access_token 参数。如果用户有足够的积分,那么他就会知道令牌。根据关于向用户透露它的安全性的问题,我想知道,他可以在我的网站之外使用它来访问文件吗?
  • 可以使用前端通道中不暴露访问令牌的流,即所谓的“代码”流;在此流程中,返回一个“code”参数,该参数只能用于由经过身份验证的客户端(即后端服务)交换访问令牌
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-07
  • 2017-01-07
  • 2021-10-24
  • 2013-01-29
  • 2017-08-06
相关资源
最近更新 更多