【发布时间】:2021-03-28 06:48:22
【问题描述】:
已经为此工作了几个小时,非常沮丧......
router.post('/',
passport.authenticate('local-signup', function(err, user, info) {
console.log(err);
}), function(req, res){
console.log(req);
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ a: 1 }));
});
当我运行它时,我使用了console.log,输出为{ message: 'Missing credentials' },这让我相信正文解析器没有正确解析正文消息。然而,当我使用这条路线时......
router.post('/',
function(req, res){
console.log(req.body);
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ a: 1 }));
});
当我使用console.log时,输出为{password: 'password', email: 'email@email.com'},这表明req.body变量设置正确并且可用。
app.js
var express = require('express');
var app = express();
var routes = require("./config/routes.config");
var models = require("./config/models.config");
var session = require('express-session');
var bodyParser = require('body-parser');
models.forEach(function(model){
GLOBAL[model] = require('./models/'+model+".model");
});
var passport = require("./config/passport.config");
app.use( bodyParser.urlencoded({ extended: true }) );
app.use(session({ secret: 'simpleExpressMVC', resave: true, saveUninitialized: true }));
app.use(passport.initialize());
app.use(passport.session());
【问题讨论】:
-
我也面临同样的问题,做了很多搜索,但找不到任何解决方案:-(
标签: passport.js passport-local