lavorato su questo per un paio di ore ormai, abbastanza frustrante ...passaporto js credenziali mancanti
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 }));
});
Quando eseguo questo, ho usato console.log
, uscita era { message: 'Missing credentials' }
, che mi porta a credere che il corpo il parser non analizza correttamente il messaggio del corpo. Quando uso questo percorso però ...
router.post('/',
function(req, res){
console.log(req.body);
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ a: 1 }));
});
quando ho usato console.log
, la produzione è stata {password: 'password', email: '[email protected]'}
, che indica che le variabili req.body
vengono impostati correttamente e sono disponibili.
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());
sto affrontando anche lo stesso tipo di problema e ha fatto alots di ricerca, ma coundn't trovare alcuna soluzione :-( –