所以我使用express和mongoDB构建我的第一个应用程序,并且我遇到了一些身份验证方面的麻烦,我使用MEAN Web开发书来构建遵循MVC模式的文件夹结构,然后我开始使用本教程和试图建立oauth身份验证,但在开始真正做oauth之前,我陷入了本地身份验证,我尝试提交表单,它一直在加载,从来没有给我一个响应,邮递员我得到一个无法得到任何回复,我不知道是什么原因导致这个问题,因为我有很多代码,我不知道会出现什么样的错误,我会把这个放在我的gitProject中。
文件夹结构:
GIT中: project
我觉得问题可以依赖于我如何通过护照模块:
的.config /表达
var config = require('./config');
var express = require('express');
var passport = require('passport');
var flash = require('connect-flash');
var compress = require('compression');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var bodyParser = require('body-parser');
var morgan = require('morgan');
var methodOverride = require('method-override');
var expressLayouts = require('express-ejs-layouts');
module.exports = function(){
var app = express();
require('./passport')(passport);
if(process.env.NODE_ENV === 'development')
{
app.use(morgan('dev'));
}
else if(process.env.NODE_ENV === 'production')
{
app.use(compress());
}
app.use(cookieParser());
app.use(bodyParser.urlencoded({
extended:true
}));
app.use(morgan('dev'));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(session({
saveUninitialized: true,
resave: true,
secret: 'keyboard'
}));
app.use(passport.initialize());
app.use(passport.session()); // persistent login sessions
app.use(flash());
app.set('views', './app/views');
app.set('view engine','ejs');
app.use(expressLayouts);
require('../app/routes/index.server.routes.js')(app,passport);
require('../app/routes/register.server.routes.js')(app,passport);
require('../app/routes/login.server.routes.js')(app,passport);
require('../app/routes/profile.server.routes.js')(app,passport);
app.use(express.static('./public'));
return app;
}
..应用程序/路由/ register.server.routes.js
var register = require('../../app/controllers/register.server.controller');
module.exports = function(app,passport) {
app.route('/register')
.post(function(req,res){
passport.authenticate('local-signup', {
successRedirect : '/profile', // redirect to the secure profile section
failureRedirect : '/register', // redirect back to the signup page if there is an error
failureFlash : true // allow flash messages
})})
.get(register.getPage);
};
答案 0 :(得分:0)
尝试使用:
app.use(bodyParser.urlencoded({
extended: false
}))
而不是:
app.use(bodyParser.urlencoded({
extended: true
}))