Ich baue eine Offline-Web-App für das iPhone und andere mobile Geräte. Gibt es eine Möglichkeit, die Benutzerauthentifizierung mithilfe des lokalen WebSQL-Speichers zu speichern?
Wenn Sie also die Webanwendung öffnen, während sie offline ist, möchte ich, dass entweder der Benutzer bereits angemeldet ist oder der Benutzer sich anmelden kann.
Wenn ich die Frage richtig verstanden habe, könnte man es so machen:
Beim Einloggen (online):
Beim Einloggen (offline):
Dies erfordert natürlich, dass Benutzer sich mindestens einmal mit der Online-Version anmelden, bevor sie sich lokal anmelden. Dies ist zum Beispiel Windows 8, wenn jemand versucht, sich bei der Verbindung mit seinem Microsoft-Konto anzumelden, während die Verbindung unterbrochen ist.
Ich weiß nicht, wie man Client-Status-Daten speichert oder verwendet ( keychain in iOS auch in Android ), aber für Web-App-Perspektive, Du musst nichts tun. Sie müssen nichts tun, denn wenn Sie es können, ist es nicht sicher. Nach der Anmeldung wird der Server HTTP only cookie festlegen, die für einige Tage oder Wochen leben. Während dieser Zeit wird die Anforderung mit Anmeldeinformationen für den Server immer vom Browser authentifiziert. Sie können Login-E-Mail oder was auch immer vom Server anfordern. Für zusätzliche Sicherheitszwecke kann der Server XSRF-Token anfordern. In diesem Fall speichern Sie es in localStorage. Dieses Token zu verlieren bedeutet nicht viel.
Dies ist die sicherste Art und Weise und wird auch von mobilen Kunden genutzt, einschließlich Internet-Banking über WebView. Die Verwendung des Browsers zur Authentifizierung ist am sichersten und am einfachsten, da es viele Schwachstellen wie den Speicher für Anmeldeinformationen, die Überprüfung korrekter SSL-Zertifikate, die Verschlüsselung usw. gibt. Bei der Webansicht wird alles vom Browser erledigt.
Wenn Sie interessiert sind, wie diese Servercodes sind, hatte ich eine Erklärung mit Appengine cross domain authentication server code .
Tags und Links jquery web-applications html5 local-storage web-sql