2012-12-30 5 views
18

Ich erstelle eine grundlegende Webanwendung mit Firebase, die Authentifizierung und Sitzungsbehandlung erfordert. Nachdem ich die Dokumentation für Firebase Auth übersprungen hatte, entschied ich mich, die email/password Option über den Facebook-Login zu verwenden.Sitzungsverwaltung mit Firebase?

Nach erfolgreicher Anmeldung erhalten wir eine token, die erneut für die Anmeldung bei der Aktualisierung der Seite oder auf einer neuen Registerkarte mit auth() verwendet werden konnte. Aber dazu müssten wir das Token irgendwo auf der Client-Seite speichern. Durch den source code for Firefeed, der Authentifizierung und Sitzungsbehandlung implementiert, wird die token in localStorage des Browsers des Benutzers gespeichert.

Wie sicher ist dieser Ansatz? Seit localStorage Daten wären für jedermann mit dem Browser sichtbar. Gibt es dafür eine bessere Alternative?

Antwort

20

Die vom Simple Login zurückgegebenen Tokens sind zeitgebundene, benutzerspezifische Token. Bei einer Kompromittierung können Angreifer im schlimmsten Fall diesen Benutzer für eine begrenzte Zeit imitieren. Sie enthalten nicht das Passwort des Benutzers oder andere sensible Daten.

localstorage kann nur durch Javascript auf die Host-Domain zugegriffen werden, von der es gespeichert wurde, so dass andere von Ihnen besuchte Websites keinen Zugriff darauf haben (vorausgesetzt, der Browser oder Ihre Site wurde nicht kompromittiert, Alle Wetten sind aus ...)

Also, kurze Antwort, dieser Ansatz ist ziemlich sicher.

+0

Danke. Das ist ziemlich genau das, wonach ich gesucht habe. – zodvik