Pure Javascript App + Amazon S3?

8

Ich möchte Folgendes bestätigen oder widerlegen:

Für das, was ich bisher gelesen habe, ist es nicht möglich, eine Web-Anwendung mit nur Javascript - keine serverseitige Logik - von Amazon S3 zu schreiben, die auch Daten nur an S3 speichert, wenn Sie mehrere Clients mit privat haben müssen Daten pro Client.

Das Problem, das ich sehe, ist der Authorization-Header, der für jeden Ajax-Aufruf erforderlich ist, der mich zwingt, die Signatur (und meine AWS-ID) in der Seitenquelle für alle sichtbar zu platzieren.

Stimmt das oder ich habe die Dokumente falsch verstanden?

Gibt es Problemumgehungen?

    
user179997 24.11.2009, 19:46
quelle

3 Antworten

7

Kurz gesagt, Sie haben Recht.

Wenn Ihr AWS-Schlüssel in irgendeiner Weise auf der Client-Seite endet, sind Sie in Schwierigkeiten.

Eine mögliche Lösung ist natürlich, dass der Benutzer seinen AWS-Schlüssel zum Speichern seiner Daten angibt.

    
jldupont 24.11.2009, 19:48
quelle
3

Ich arbeite an einem Projekt, das etwas Ähnliches tun wird, meines wird die Benutzer ihre eigenen S3 verwenden, die ich in HTML5 localStorage speichern werde. Es ist ein bisschen schwierig, aber ich habe die Grundlagen arbeiten.

Es beinhaltet die Erstellung eines Javascript-Programms, das sich selbst in S3 repliziert, sich von S3 holt und dann die Zugangsdaten und die Kontrolle in die S3-geladene Version überträgt.

Ich verwende die ausgezeichnete SJCL , um die Signaturerstellung und jQuerys Ajax-Funktionalität für die Teile zu erstellen, die ich kann.

>

Meine Arbeit initialisiert einfach die S3-Seitenanwendung und führt eine Test-PUT / GET-Sequenz zu S3 durch. Ich habe auch ein JQuery-postMessage-Plugin (das StackOverflow mir aus Mangel an Wiederholungen nicht posten lässt) umgeschrieben, um zwischen meinen Frames zu kommunizieren.

In meinem Fall versuche ich, die gesamte Anwendung in eine einzige HTML-Datei zu packen, so dass ich nicht so viel anfängliche Übertragung in S3 machen muss, aber vielleicht gibt es andere Möglichkeiten, dies auszuarbeiten.

    
Brandon 10.05.2011 15:51
quelle
-1

iBeans bietet einen Weg um dies zu erreichen, ohne irgendeinen serverseitigen Code schreiben zu müssen. Es gibt ein S3 iBean (ein Entwickler arbeitet daran, in den nächsten Tagen veröffentlicht zu werden - schau dir den Mulesoft Blog für eine Ankündigung an) und du kann direkt von Ihrem Javascript aus darauf zugreifen. Der iBean selbst läuft auf einem Server, so dass Sie Ihre Schlüssel nicht im Javascript speichern müssen.

    
Ken 30.11.2009 23:37
quelle

Tags und Links