QUICK Wstęp:mogę używać HTML5 lokalnej pamięci do przechowywania informacji o sesji użytkownika uwierzytelniania
Piszę Mongo/Ekspres/kątowa/node SPA i korzystania paszport mam setup OAuth dziennik w opcji do obsługi uwierzytelniania użytkowników/autoryzacja.
z paszportem mam powodzeniem utrzymanie sesji na serwerze, więc wszystkie moje prośby XHR (że go potrzebujesz) sprawdzają dla zalogowanego użytkownika.
Po zalogowaniu serwer umieszcza podstawowe informacje o sesji użytkownika w pliku cookie, aby klient mógł je znaleźć w oddzwanianiu od autoryzacji, następnie używam plików cookie "$ CookieStore", aby uzyskać dostęp do tego pliku cookie na kliencie, zapisać go w katalogu głównym i wyczyść plik cookie.
PROBLEM:
to doskonale działa z wyjątkiem każdym przypadku, jeżeli użytkownik odświeża przeglądarki, co powoduje moją sesję rootscope się oczywiście się wytarł.
Więc zastanawiałem się nad przechowywaniem informacji o sesji w lokalnej pamięci przeglądarki (używając store.js), to nawet przy początkowym obciążeniu mogłem sprawdzić sesję istniejącą w lokalnej pamięci przeglądarki i ominąć logowanie OAuth, jeśli było już sesja.
Czy jest to zła praktyka lub czy występują pewne problemy logistyczne/związane z bezpieczeństwem podczas przechowywania informacji o sesji użytkownika w lokalnym magazynie pamięci przeglądarki?
Ta aplikacja nie ma żadnych danych senstive, rejestracja jest bezpłatna i logowanie jest naprawdę możliwe, więc mogę śledzić użytkowników i przechowywać dane utworzone w aplikacji dla każdego użytkownika. A sesja użytkownik nigdy nie ma hasła (ja tylko pozwalają OAuth się zalogować bez opcji lokalnego).
zależy. ale upewnij się, że nie mogę zmodyfikować lokalnej pamięci, aby utworzyć prawidłowy login w Twojej witrynie. to byłoby nieprzyjemne. –
chciałbym przechowywać tylko identyfikator sesji i że będę prawdopodobnie przechowywać w pliku cookie. –
@MarkusMikkolainen Czy cookie lepszym rozwiązaniem ze względu na zdolność do wejść i modyfikowanie obiektów w localStorage? –