在不损害令牌的情况下访问保管箱上的用户文件夹?
Access user folder on dropbox without compromising token?
我们正在创建一个应用程序,其中每个用户都有一个指定的保管箱文件夹,该文件夹位于专为该应用程序创建的保管箱文件夹中。用户应该只能访问他自己的文件夹。
问题在于创建的 API 访问令牌,您可以访问所有用户的所有文件夹。在我们的应用程序中,我们能够限制访问权限,因此用户只能访问他自己的文件夹,但由于访问令牌必须硬编码到 Web 应用程序中,任何人最终都可能获得它。使用访问令牌,他们可以访问所有用户文件夹(并且客户端数据将不安全)。
所以有两种可能:
- 我们通过 PHP 访问 Dropbox 并限制访问。该应用程序根据 AJAX 获取用户文件夹,并且 PHP 脚本处理限制。但是无法通过 PHP(在 API v2 中)访问 Dropbox。
- 数据存储在用户自己的 Dropbox 帐户中,但我们不希望用户需要拥有自己的 Dropbox 帐户才能访问我们的应用程序功能。公司应该始终有权访问所有用户文件夹。
是否可以在 javascript 代码中加密和隐藏访问令牌?或者有其他方法可以解决这个问题吗?
如评论中所述,您不能只在 JavaScript 中隐藏访问令牌。虽然您可以让攻击者更难提取令牌,但您不能让它变得不可能。 (客户端应用程序,例如浏览器 JavaScript,根本无法保密。)
其他一些注意事项:
But there is no possibility to access Dropbox via PHP (in API v2).
这不是真的。虽然 Dropbox 不为 Dropbox API v2 提供官方 PHP SDK,但您仍然可以使用 the HTTPS endpoints directly, or using a third party library.[=13 从 PHP 访问 Dropbox API v2 =]
The data is stored on the users own Dropbox accounts, but we don't want the users to need an own Dropbox account to get access to our app functionalities
API 的设计目的是让每个用户 link 拥有自己的 Dropbox 帐户,以便与自己的文件进行交互。不建议像这样访问单个帐户。
我们正在创建一个应用程序,其中每个用户都有一个指定的保管箱文件夹,该文件夹位于专为该应用程序创建的保管箱文件夹中。用户应该只能访问他自己的文件夹。
问题在于创建的 API 访问令牌,您可以访问所有用户的所有文件夹。在我们的应用程序中,我们能够限制访问权限,因此用户只能访问他自己的文件夹,但由于访问令牌必须硬编码到 Web 应用程序中,任何人最终都可能获得它。使用访问令牌,他们可以访问所有用户文件夹(并且客户端数据将不安全)。
所以有两种可能:
- 我们通过 PHP 访问 Dropbox 并限制访问。该应用程序根据 AJAX 获取用户文件夹,并且 PHP 脚本处理限制。但是无法通过 PHP(在 API v2 中)访问 Dropbox。
- 数据存储在用户自己的 Dropbox 帐户中,但我们不希望用户需要拥有自己的 Dropbox 帐户才能访问我们的应用程序功能。公司应该始终有权访问所有用户文件夹。
是否可以在 javascript 代码中加密和隐藏访问令牌?或者有其他方法可以解决这个问题吗?
如评论中所述,您不能只在 JavaScript 中隐藏访问令牌。虽然您可以让攻击者更难提取令牌,但您不能让它变得不可能。 (客户端应用程序,例如浏览器 JavaScript,根本无法保密。)
其他一些注意事项:
But there is no possibility to access Dropbox via PHP (in API v2).
这不是真的。虽然 Dropbox 不为 Dropbox API v2 提供官方 PHP SDK,但您仍然可以使用 the HTTPS endpoints directly, or using a third party library.[=13 从 PHP 访问 Dropbox API v2 =]
The data is stored on the users own Dropbox accounts, but we don't want the users to need an own Dropbox account to get access to our app functionalities
API 的设计目的是让每个用户 link 拥有自己的 Dropbox 帐户,以便与自己的文件进行交互。不建议像这样访问单个帐户。