2014-12-06 61 views
0

我想允许用户在我的网站上下载文件,但有些需要一定数量的点。我正在使用小型托管服务,因此它们会以购买的额外空间存储在我的Google云端硬盘帐户中。OAuth2 - 永久访问我的帐户的安全

我将access_type设置为'offline',如果刷新令牌过期,我使用刷新令牌来更新访问令牌。主要问题是,控制台显示包含令牌的请求。

我想知道,用户是否可以使用access_token访问文件,虽然他们没有足够的点数?什么是隐藏请求的最佳方式?

+0

其中“控制台”你指的是?如果它是浏览器的Javascript控制台,那么这将是一个问题,因为如果用户拥有足够的可以访问该控制台的点,则假设您没有向没有足够点的用户发放访问令牌。 – 2014-12-06 23:06:32

+0

是的,我的意思是浏览器的控制台。根据http://stackoverflow.com/questions/20880489/oauth2-is-it-safe-to-return-the-access-token-to-the-user我不应该透露访问令牌。如果用户有权下载文件,但不需要另一个呢?他会知道令牌,但他可以用它来下载另一个文件吗? – 2014-12-07 12:54:20

回答

1

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

所以你只需要在后端服务中保存访问令牌,并让Javascript客户端调用你的后端服务特定的文件,然后在你的后台服务检查用户是否被允许与否,如果允许通过的请求,谷歌

编辑:这是说明如下:http://developers.google.com/+/web/signin/server-side-flow

+0

对不起,但我的意思是完全不同的东西。在认证过程中,您可以看到Google服务器的请求,其中包含参数中的access_token。如果用户有足够的积分,那么他会知道令牌。根据有关向用户显示它的安全性的问题,我想知道,他可以在我的网站外部使用它来访问文件吗? – 2014-12-07 15:03:03

+1

您可以使用不会暴露前通道访问令牌的流程,即所谓的“代码”流程;在该流程中,返回“代码”参数,其仅被用于由经认证的客户端交换访问令牌,即后端服务 – 2014-12-07 15:39:25

相关问题