从公共网站上传文件到个人Dropbox而不暴露私钥

Upload file to personal Dropbox from public website without exposing private key

本文关键字:Dropbox 私钥 暴露 网站 文件      更新时间:2023-09-26

我收到图像处理在我的网站上,想要省略上传到本地服务器,并进一步添加到Dropbox文件夹从它实现直接上传到Dropbox从web浏览器。

Dropbox API非常简单,但有一个问题-我需要向最终用户暴露API密钥,并且该密钥允许从我的帐户下载所有图片。然后,如果我使用Dropbox API -一个用户可以下载其他人上传的图像,这是不可接受的情况。

是否有任何方法可以绕过限制,向网站最终用户暴露完全访问API密钥?

不幸的是,没有,为了通过Dropbox API直接上传到Dropbox,客户端需要访问令牌。此外,Dropbox API不提供仅上传权限。

基本上,客户端不能保密,所以任何存在于客户端(在本例中,在浏览器中)的访问令牌都可以被提取和滥用。


编辑:Dropbox API现在提供了一些可能在这里有用的新功能:

A) Dropbox API现在提供了"作用域",你可以用它来配置一个应用程序或访问令牌,只有一组有限的功能,比如写但不能读文件的能力。

您可以在我们的博客文章中找到有关发布的更多信息:

https://dropbox.tech/developers/now-available--scoped-apps-and-enhanced-permissions

B) Dropbox API现在提供/2/files/get_temporary_upload_link端点,可用于获取客户端可以POST到的URL,以便在没有访问令牌的情况下上传到Dropbox帐户:

https://www.dropbox.com/developers/documentation/http/documentation files-get_temporary_upload_link