2009-11-24 30 views
8

我期待來證實或反駁如下:純Javascript應用+ Amazon S3?

對於我迄今是不可能讀到寫,只有JavaScript的Web應用程序 - 沒有服務器端邏輯 - 從亞馬遜S3服務也如果您需要爲每個客戶端使用私人數據的多個客戶端,則僅將數據存儲到S3。

我看到的問題是每個Ajax調用所需的授權標頭,這會迫使我在頁面源中將簽名(以及我的AWS ID)放在頁面源代碼中供大家查看。

這是正確的還是我誤解了文檔?

是否有解決方法?

回答

7

總之,你是對的。

如果您的AWS密鑰在客戶端以任何方式結束,那麼您遇到了麻煩。


一種可能的方案是,當然,讓用戶指定用於存儲它們的數據 AWS鍵。

+0

但是,如果我使用他們的AWS密鑰,我不能使用DevPay,對嗎?他們基本上就自己而言就註冊而言,他們必須用手中的鑰匙來接近我的應用程序,對吧? – user179997 2009-11-24 20:37:29

+0

對不起 - 我不太瞭解DevPay說些相關的東西。 – jldupont 2009-11-24 20:55:31

+0

當然,這是一個很好的答案,謝謝! – user179997 2010-04-27 14:31:41

-1

iBeans提供了一種解決方法,無需編寫任何服務器端代碼。有一款S3 iBean(開發人員正在開發它,以便在接下來的幾天內發佈 - 請查看mulesoft blog以獲得公告),並且您可以通過javascript訪問它。 iBean本身在服務器上運行,所以你不需要在JavaScript中存儲你的密鑰。

+0

謝謝,我正在尋找一個簡短但不含糊的描述,你有指針嗎?它是否託管? – user179997 2009-12-06 02:09:53

3

我正在做一個項目,將做類似的事情,我的用戶將使用自己的S3,我將存儲在HTML5 localStorage中。這有點棘手,但我已經掌握了基礎知識。

它涉及到一個JavaScript程序,它自己複製到S3中,從S3中獲取自身,然後將憑證和控制權轉移到S3加載版本中。

我正在使用優秀的SJCL爲我可以做的部分做簽名生成和jQuery的ajax功能。

我的工作只是初始化S3端應用程序,並對S3執行測試PUT/GET序列。我還重寫了一個JQuery postMessage插件(StackOverflow不會讓我發佈缺乏代表)來通信我的框架。

在我的情況下,我試圖將整個應用程序合併到一個HTML文件中,這樣我就不必像S3那樣進行最初的傳輸,但也許有其他方法可以解決這個問題。