这种简约的本地护照策略实施,总是将我重定向到/失败:
const express = require('express');
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const session = require('express-session');
var user = {username:"joe", password:"parmesano", id:34};
console.log(user);
passport.use(new LocalStrategy( (username, password, done) => {
done(null, user);
}));
passport.serializeUser( (user, done) => {
done(null, user.id)
});
passport.deserializeUser( (id, done) => {
done(null, user)
});
const app = express();
app.use(session({ secret: 'jamalaja', resave: false, saveUninitialized: false }));
app.use(passport.initialize());
app.use(passport.session());
app.post('/', passport.authenticate('local', { failureRedirect: '/failure', successRedirect: '/success' }));
app.listen(3000);

我不应该被送到/成功吗?
答案 0 :(得分:1)
如果添加body-parser中间件,我会得到/ success重定向:
app.use(require('body-parser').urlencoded({ extended: true }));
用命令测试它:
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'username=meda&password=ajana' localhost:3000/