Ich versuche meine ersten Schritte mit dem Express-Framework für Node zu machen. Ich habe versucht, ein kleines Authentifizierungsbeispiel mithilfe von Passport zu implementieren. Ich kann es jedoch nicht funktionieren lassen; Ich bekomme immer den Fehler: Error: failed to serialize user into session
.
Ich habe node-inspector installiert, um zu sehen, was passiert. Scheinbar wird meine Serialisierungsfunktion aufgerufen und führt done(null, 0)
wie erwartet aus. Ich habe versucht, einen Blick auf den Passport-Code zu werfen, aber ich konnte nicht verstehen, was das Problem ist. Dies ist so ziemlich mein erster Versuch einer Node-Anwendung, daher kenne ich den Code nicht. Kann mir jemand einen Hinweis geben? Danke.
Das Problem besteht darin, dass 0
in JavaScript ein false-y-Wert ist. Daher denkt Passport, dass Sie Ihren Benutzer nicht serialisiert haben.
Ich würde empfehlen, Benutzer-IDs bei 1 zu beginnen (was in SQL-Datenbanken geschieht), oder (wenn Sie wirklich Ganzzahlen benötigen, die bei 0 beginnen), sie als Strings für die Sitzung zu serialisieren.
%Vor%Vielleicht sollten Sie Ihre serialize / deserialize Callbacks vor dem Aufruf von pass.initialize () und pass.session ().
zuweisen %Vor%Tags und Links node.js express passport.js