(aktualisierte Code mit Serialisierung Funktionen - noch Umleitungen an/failedRedirect)Node.js Benutzerauthentifizierung Pass mit
Ich versuche einfach Benutzername/Passwort-Authentifizierung geht mit dem Pass-Paket zu bekommen, aber scheitern. Im Beispiel unten Ich habe versucht, indem im Grunde immer wiederkehr eine gültige Authentifizierung (unabhängig davon, was übergeben wird), dass die Authentifizierung funktioniert, um zu überprüfen, aber aus irgendeinem Grunde fehlschlägt und Pass Umleitungen an dem Login-Link fehlgeschlagen.
Wenn jemand mir in herauszufinden, helfen könnte, wie dieses Beispiel zu bekommen, um einfach alles zu authentifizieren, soll ich in der Lage sein, von dort aus zu verwalten.
Der Code in Coffeescript ist:
express = require "express"
passport = require "passport"
LocalStrategy = require("passport-local").Strategy
passport.use(new LocalStrategy((username, password, done) ->
console.log "LocalStrategy invoked"
done(null, {id: 1, name: "Marius"})
))
passport.serializeUser (user, done) ->
done null, user
passport.deserializeUser (obj, done) ->
done null, obj
app = express.createServer()
app.configure ->
app.use express.bodyParser()
app.use express.static("./public")
app.use express.cookieParser("SOMESECRET")
app.use express.session
secret: "SOMESECRET"
cookie:
maxAge: 60000
app.use passport.initialize()
app.use passport.session()
app.set "view", "./srv/views"
app.set "view engine", "jade"
app.get "/login", (req, res) ->
res.send "login page"
app.post "/login", passport.authenticate("local",
failureRedirect: "/failedRedirect"
successRedirect: "/successRedirect"
failureFlash: true)
app.listen 8082
Gelöst: Ok, ich glaube, ein paar Gründe, warum es gab ich es nicht arbeiten konnte. Das serialize Zeug kann man (ich habe nicht getestet), aber da Jared sagte sie gebraucht wurden, ich verlasse sie in (er ist der Autor von Passport). Die andere Verwirrung kann mit ausdrücklichen Versionen und meiner Verwirrung mit npm zusammenhängen. Ich glaube, ich habe sowohl das neueste v2 von express getestet, aber ich habe auch v3 getestet, was ich jetzt betreibe. Für die Version drei, sollten Sie wahrscheinlich auch das connect-flash
Modul auf Github überprüfen, wie einige auf die „Flash“ Sachen, die in Jareds Beispielen verwendet wurden aus ausdrücklichem v3 bewegt (so setzt das Modul, um es wieder in ...). Und schließlich, stellen Sie sicher, dass Sie veröffentlichen die richtigen Namen Eingabenamen (username
und password
Standard).
Aktualisierter Code in Frage zu enthalten Serialisierungsfunktionen, aber die Authentifizierung schlägt an meinem Ende fehl. Wird der aktualisierte Code bei Ihnen erfolgreich authentifiziert? Danke .. –
Ja, tut es. Kopiert Ihr Code die Meldung "LocalStrategy aufgerufen". Es könnte helfen, 'app.use (express.errorHandler ({dumpExceptions: true, showStack: true})))' 'zu mounten und zu sehen, ob irgendwelche Ausnahmen ausgelöst werden. –
An meinem Ende wird selbst die "aufgerufene" Nachricht nicht angezeigt. Ich werde dein errorHandler Ding ausprobieren um zu sehen ob etwas auftaucht. –