Mehr von einer allgemeinen Point-out-the-Flaws-Frage zu einigen Vorschlägen für die Implementierung eines tokenbasierten Authentifizierungssystems, motiviert durch die Tatsache, dass Node.js nicht bereit zu sein scheint .Token-basierte Authentifizierung (in Node.js)
Da wir einen statuslosen API-Server für die Manipulation unseres Datenspeichers erstellen möchten, möchten wir unseren Benutzern ein Authentifizierungs-Token (ein "Ticket to Ride") bereitstellen, das in jedem Aufruf der API enthalten ist.
Frage ist, wie man dieses Token in einer sicheren Weise erzeugt.
[idea 1] - Der Benutzer fordert ein Auth-Token durch das Senden (Benutzer-ID, Passwort-Hash) auf Server - Server antwortet mit (user_id, EXPIRY_DATE), zufällig von dem API-Server signiert Key - Server Überprüfung der Gültigkeit des Token kann auf jede Anfrage - Server benötigen würde einen begrenzten Zeitraum speichern Token für
[Idee 2] - wie oben, aber vermeiden von Passwort-Hash Senden - der Benutzer fordert eine auth-Token - Der Server sendet dem Benutzer eine Challenge, der Benutzer führt dann die Challenge mit seinem (user_id, password_hash) -Paar - Server aus dies bestätigt und erzeugt dann Token gemäß Idee 1.
[Idee 3] - Einfachere, aber dann keiner zeit - der Passwort-Hash selbst als Auth-Token, das Token-Management-Problem zu vermeiden, in jeder Anforderung, gesendet Verwenden Beschränkt
[Idee 4] - wie 2, aber die challenged_hashed_by_ (user_id, password_hash) wird das Token und in jeder Anfrage
Danke für alle Hinweise
Werfen Sie einen Blick auf diese: http://stackoverflow.com/questions/11187342/mongoose-express-authorisation-on-http-verbs – freakish