1

Ich denke über die Entwicklung einer statischen Website auf Amazon S3 gehostet. meine Datei-Struktur wäre so etwas wieaws s3 statische website verbergen Inhalt vor dem Login

Die Website selbst ist in Angular 1.x geschrieben, so dass es eine einzelne Seite Anwendung ist. Mein Problem ist jetzt: Login sollte öffentlich sein, jeder kann auf diese Seite zugreifen. Aber alles im/hiddenContent-Ordner sollte nur für authentifizierte Benutzer sichtbar sein. seit seinem Winkel müssen alle Inhalte und Controller zum Zeitpunkt des Bootstrap (Ladens) bekannt sein. Aber dann kann ein Benutzer, der mit Webtechniken vertraut ist, die HTML- und JS-Dateien sehen, die bereits geladen sind (aber nicht mit Daten gefüllt sind). aber das muss vermieden werden. Wie kann ich mit diesem Problem umgehen? HTML und Controller Javascript sollte nach dem Login geladen werden. mit einem Server ist es kein Problem, aber s3 hat keinen Server.

tl; dr: wie kann ich html/javascript in einem SPA nach dem Login laden?

+0

Sie könnten einen separaten HTML-Code mit einem eigenen Authentifizierungsprozess haben, der Sie bei erfolgreicher Authentifizierung zur Anwendung mit den erforderlichen Parametern weiterleitet. Ich glaube, wenn man versucht, dies in ein und demselben SPA zu erreichen, wird es ziemlich mühselig. –

+0

Ja, aber wie mit Parametern auf eine statische Website umleiten? Es gibt keinen Server, der diese Parameter lesen könnte. Bitte erläutern Sie es genauer. – daTobi

+0

Eine Sache, die in den Sinn kommt, wäre Aut0. Laden Sie das Login-Widget auf Ihrer statischen Website. Wenn sie sich erfolgreich anmelden, erhalten Sie ein JWT mit ihren Informationen. Senden Sie diesen JWT an die Zielseite Ihres SPA, der ihn lädt, verifizieren Sie ihn mit einem Auth0-Client und lassen Sie ihn ein? Das ist aber von der Spitze meines Kopfes. –

Antwort

1

Sie können die Sicherheit erzwingen auf einer Amazon S3 statische Website über:

  • Pre-signierten URLs (aber das muss eine Anwendung zur Authentifizierung von Benutzern und erzeugte die Pre-signierte URLs) oder
  • durch die Verwendung von temporäre AWS-Anmeldeinformationen (die über die AWS werden können Secure Token-Dienst generiert, aber auch hier würde Sie eine Anwendung benötigen, um die Anmeldeinformationen erstellen) oder
  • durch die Verwendung von permanent AWS Credentials (aber Sie sollten IAM nicht gewähren Sie den Zugriff auf Anwendungsbenutzer)

Fazit: Wenn Sie keine Logik Layer-Sicherheit zu überprüfen und Zugangsdaten zu erzeugen, dann können Sie nicht selektiv eine Amazon S3 statische Website schützen .

Verwandte Themen