护照策略没有被调用

时间:2017-04-01 06:31:29

标签: javascript express passport.js

你好,很棒的用户 我两天都遇到了护照js的麻烦,无法弄明白。

未调用Passport策略。 console.log没有被调用! 任何想法?

这是我的代码

// init.js

var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;

module.exports = function(app) {
    passport.use(new LocalStrategy(function(username, password, done) {

        console.log(username, password);
        return done(null, {username: 'agent'});
    }));

    passport.serializeUser(function(user, done) {
        done(null, 'agent');
    });

    passport.deserializeUser(function(id, done) {
        done(null, {username: 'agent'});
    });

    app.use(passport.initialize());
};

// routes.js

var passport = require('passport');

module.exports = function(app) {

    app.get('/login', function(req, res) {
        res.send('login');
    });

    app.post('/login', function(req, res, next) {
        passport.authenticate('local', function(err, user, info) {
            if (err) {
                return next(err);
            }
            if (!user) {
              console.log(user);
              console.log('no user');
                return res.redirect('/login');
            }
            req.logIn(user, function(err) {
                if (err) {
                    return next(err);
                }
                return res.redirect('/');
            });
        })(req, res, next);
    });

// index.js,我调用auth

require('./src/auth/init')(app);
require('./src/auth/routes')(app);

编辑 解 问题出在邮递员身上,我要将身体发布数据更改为x-www-form-urlencoded

0 个答案:

没有答案