2011-11-30 49 views
1

我希望我的网站用户使用Dropbox存储文件。我将为此使用OAuth 1.0。我无法使用OAuth 2.0,因为Dropbox只支持OAuth 1.0。在JavaScript中安全使用OAuth以节省带宽

如果我在服务器端完全实现了授权和文件检索/存储,它将花费我大量的文件存储/检索带宽。我想完全转移到JavaScript来节省带宽。但是,在这种情况下,消费者的秘密将会暴露给世界造成安全问题。

为了防止消费者的隐私暴露,我曾考虑在服务器端执行request_token,authorize和access_token阶段。然后将必要的参数传递给JavaScript,然后处理文件的存储和检索。

这是个好主意吗?或者你能看到它的任何问题吗?

+0

注:我不希望使用在http://derek.io/blog提到的YQL解决方案/ 2010 /如何对安全,OAuth的中的JavaScript / – Cracker

回答

0

我认为这很有道理。

只要你确信你的密钥/秘密不会出现在你的JavaScript代码的任何地方,并且确保在会话期间只保留密钥/秘密,你应该是安全的。

编辑:您当然可以将访问令牌持久保存到超出会话范围的Dropbox服务器端。这样,您可以在多个会话中重复使用相同的访问令牌。

0

我遇到了同样的问题,唯一的问题是如果您的Dropbox支持CORS的端点,又返回ACCESS_CONTROL_ALLOW_ORIGIN允许浏览器发布到它。否则,您可以通过FORM发帖,但我不认为您可以阅读回复。

FYI我已经这个包裹成一个客户方库,看看http://adodson.com/hello.js/和服务器端您好!OAuth1垫片https://npmjs.org/package/oauth-shim