2011-11-30 54 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