我希望我网站的用户使用Dropbox存储他们的文件。我将使用OAuth 1.0来实现此目的。我无法使用OAuth 2.0,因为Dropbox仅支持OAuth 1.0。
如果我在服务器端完全实现授权和文件检索/存储,那么文件存储/检索将占用大量带宽。我想把它完全转移到JavaScript来节省带宽。但是,在这种情况下,消费者的秘密将暴露给世界,造成安全问题。
为了防止消费者秘密曝光,我想到了在服务器端执行request_token,authorize和access_token阶段。然后将必要的参数传递给JavaScript,然后JavaScript将处理文件的存储和检索。
这是个好主意吗?或者你能看到其中的任何问题吗?
答案 0 :(得分:0)
我认为这很有道理。
只要你绝对确保你的JavaScript代码中没有任何密钥/秘密出现,并且绝对确保在会话期间只保留密钥/秘密,那么你应该是安全的。
编辑:您当然可以将访问令牌持久保存到会话范围之外的Dropbox服务器端。这样,您可以在多个会话中重用相同的访问令牌。
答案 1 :(得分:0)
我遇到了同样的问题,唯一的问题是如果端点(在你的情况下是Dropbox)支持CORS,又返回ACCESS_CONTROL_ALLOW_ORIGIN,允许浏览器发布到它。否则你可以通过FORM发布,但我不认为你能阅读回复。
仅供参考我已将其封装到客户端库中,请查看http://adodson.com/hello.js/和服务器端OAuth1垫片https://npmjs.org/package/oauth-shim