在Dropbox上访问用户文件夹而不影响令牌?

时间:2017-11-06 13:43:29

标签: javascript security access-token dropbox-api

我们正在创建一个应用,其中每个用户都有一个指定的保管箱文件夹,该文件夹位于仅为该应用创建的保管箱文件夹中。用户应该只能访问自己的文件夹。

问题在于您创建的API访问令牌可以访问所有用户的所有文件夹。在我们的应用程序中,我们能够限制访问权限,因此用户只能访问自己的文件夹,但由于访问令牌必须硬编码到Web应用程序中,任何人最终都可以获取它。使用访问令牌,他们可以访问所有用户文件夹(并且客户端数据将是不安全的)。

所以有两种可能性:

  1. 我们通过PHP访问Dropbox并限制访问权限。应用程序获取每个AJAX的用户文件夹,PHP脚本处理限制。但是没有可能通过PHP访问Dropbox(在API v2中)。
  2. 数据存储在用户自己的Dropbox帐户中,但我们不希望用户需要自己的Dropbox帐户才能访问我们的应用功能。公司应该始终可以访问所有用户文件夹。
  3. 是否有可能在javascript代码中加密和隐藏访问令牌?或者有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如评论中所述,您无法在JavaScript中隐藏访问令牌。虽然您可以使攻击者更难以提取令牌,但您无法做到这一点。 (客户端应用程序,例如在浏览器JavaScript中,从根本上说不能保守秘密。)

其他几点说明:

  

但是没有可能通过PHP访问Dropbox(在API v2中)。

这不是真的。虽然Dropbox没有为Dropbox API v2提供官方PHP SDK,但您仍然可以使用the HTTPS endpoints directly或使用a third party library从PHP访问Dropbox API v2。

  

数据存储在用户自己的Dropbox帐户中,但我们不希望用户需要自己的Dropbox帐户才能访问我们的应用功能

API的设计旨在让每个用户链接自己的Dropbox帐户,以便与自己的文件进行交互。建议您访问此类帐户。