2015-09-22 6 views
7

Wäre es sicher, ein API-Token zu speichern, das von einem Authentifizierungsaufruf in einem Flux (speziell Redux) -Laden zurückgegeben wurde? Ich habe Webpack verwendet, um alle Assets im Projekt zu kompilieren, was meiner Meinung nach bedeutet, dass der Speicher außerhalb der Reichweite von Skripts von Drittanbietern liegt, die das Geschäft lesen und das Token extrahieren möchten.Sind API-Tokens in einem Flux (Redux) Store sicher?

Und, was es wert ist, wird das Token über HTTPS in einem Authorization: bearer ... Header gesendet.

+1

Absolut nicht. Zumindest nicht, wenn es für Ihren API-Schlüssel in Ordnung ist, von jedem gesehen zu werden. Jeder kann jederzeit auf die Daten in clientside JS zugreifen (zB: chrome dev tools). –

+0

Lesen Sie dies; http://stackoverflow.com/questions/20963273/spa-best-practices-for-authentication-and-session-management –

Antwort

7

Wenn nicht vertrauenswürdige Skripts von Drittanbietern auf der Seite ausgeführt werden, sollten Sie davon ausgehen, dass nichts sicher ist, da die gesamte Integrität der Seite gefährdet ist.

Wenn nur vertrauenswürdige Skripts ausgeführt werden, können Sie davon ausgehen, dass Ihr Token sicher ist, abhängig von der Sicherheit des Browsers und davon, wie sicher Ihre Site gegen XSS-Angriffe ist.

EDIT:

Um zu klären, ist diese Sicherheit von 3rd-Party-Skripten. Wenn Sie versuchen, Ihr Token vor dem Benutzer selbst zu verbergen, lautet die Antwort, dass es immer unsicher ist, egal wie sehr Sie Ihren Code verschleiern, denn wenn der Computer des Benutzers darauf Zugriff hat, kann der Benutzer letztendlich darauf zugreifen (Sie können es schwieriger machen, aber nicht unmöglich).

+1

@Carson Ich möchte hinzufügen, dass nichts in JS gespeichert jemals als sicher angenommen werden sollte , da theoretisch jedem Skript mit Zugriff auf Ihre Seite Zugriff auf das Skript/den Bereich gewährt werden kann. Ich stimme Trevor zu; Dies läuft darauf hinaus, wie gut Sie den Skripts vertrauen, die auf Ihrer Seite laufen. –

Verwandte Themen