Buduję aplikację internetową, która musi działać w trybie offline. System jest zbudowany w celu przechwytywania transakcji sprzedaży. Większość części "offline" jest dość prosta - po prostu muszę przechowywać dane lokalnie i zsynchronizować je po powrocie do sieci. Jak na razie dobrze.Uwierzytelnianie użytkownika w aplikacjach internetowych offline
Problem dotyczy uwierzytelniania. Aplikacja będzie działać na współdzielonej maszynie z jednym kontem użytkownika systemu operacyjnego. Jeśli jestem offline, w jaki sposób mogę uwierzytelnić użytkownika?
Użytkownicy nie mają żadnych prywatnych danych, które będę musiał posegregować (tj. Nie muszę ich chronić przed klientem). Muszę być w stanie zweryfikować swoje hasło, aby umożliwić innym użytkownikom zalogowanie się przez cały dzień, nawet jeśli połączenie nie działa.
Jedna z metod, o której myślę, polega na buforowaniu skrótów haseł po stronie klienta w IndexedDB. Tylko ograniczona grupa użytkowników będzie mogła logować się z określonego współdzielonego komputera, więc nie będę musiał lokalnie buforować mojej bazy danych wszystkich haseł. Zakładając, że mam dobrą politykę haseł (wymagania dotyczące złożoności i wygasania) w miejscu, a same skróty są bezpieczne (bcrypt), jak okropny jest pomysł?
Czy mam jakieś inne opcje?
Z tego, co przeczytałem, wygaśnięcie hasła może być bardziej szkodliwe niż pomocne - http://www.cryptosmith.com/node/218 Chociaż może to nie być prawdą, jeśli ujawniasz swoją bazę danych. –