Mobile Projekte haben ihre eigenen Login Formular und Signup Formular Blöcke, getrennt von denen bei Webanwendung Projekten. Eine Mobile App hat keinen eigenen Server, diese prüfen also ein echtes, funktionierendes Konto gegen Daten, die nur auf dieser einen installierten Kopie der App gespeichert sind, nie gegen eine gehostete Datenbank und nie irgendwohin synchronisiert.
Wie die Blöcke zusammenarbeiten
Gib einem Signup Formular und einem Login Formular denselben Storage Key, und sie teilen sich einen lokalen Kontospeicher. Signup prüft, dass der Identifier noch nicht vergeben ist, und dass Passwort und Bestätigung übereinstimmen, und speichert dann das Konto; Login prüft einen eingetippten Identifier und ein Passwort dagegen. Ein Change Password Formular, das denselben Storage Key nutzt, prüft Identifier und aktuelles Passwort erneut, und ersetzt das gespeicherte Passwort nur bei echter Übereinstimmung, es verlässt sich auf keinen "bereits angemeldet" Status, da keiner dieser Blöcke eine Sitzung verfolgt. Passwörter werden nie als Klartext gespeichert, die kompilierte App leitet einen gesalzenen, Einweg Hash ab, bevor irgendetwas auf das Gerät geschrieben wird, er ist nie zurück in das ursprüngliche Passwort umkehrbar.
Was das bewusst nicht tut
- Kein Passwort Reset: es gibt keinen E Mail Server auf einer rein lokalen App, um einen Reset Link durchzuschicken. Das Passwort zu verlieren bedeutet, dass das Konto nicht von innerhalb der App wiederhergestellt werden kann (Change Password funktioniert nur, wenn du das aktuelle bereits kennst).
- Keine geräteübergreifenden Konten: ein auf einer installierten Kopie erstelltes Konto existiert nicht auf einer anderen, jede Kopie hat ihren eigenen, separaten lokalen Speicher.
- Keine Admin Ansicht registrierter Konten: es gibt kein "Aufdecken" oder Exportieren dessen, wer sich registriert hat.
Tipp: Mehrere Konten unter einem Storage Key funktionieren problemlos, das ist echte Registrierung für so viele Personen, wie diese eine installierte Kopie nutzen, keine einzelne, geräteweite PIN.