Passport Js + Nodejs + Expressjs,经过身份验证的路由

时间:2019-01-21 17:25:06

标签: node.js express passport.js

我有一个使用nodehostjs进行身份验证的应用程序nodejs,该应用程序托管在kinghost.com上。我有以下问题:我的应用程序有一个奇怪的行为,运行POST以保留一些html数据后,该应用程序被重定向到登录屏幕。我注意到重定向是在POST请求结束时执行的,passportjs表示路由未通过身份验证“ req.isAuthenticated()” 不会在本地主机模式下运行该应用程序。会有人知道是什么问题吗?

我认为问题可能出在会话上,但是因为在本地主机模式下不会发生问题,所以我有这个问题

我的护照js设置

var express           = require('express');
var session           = require('express-session');
var cookieParser      = require('cookie-parser');
var bodyParser        = require('body-parser');
var logger            = require('morgan');
var path              = require('path');
var app               = express();
var passport          = require('passport');
var flash             = require('connect-flash');

app.use(logger('dev'));
app.use(expressValidator());
app.use(cookieParser());
app.use(bodyParser.json({limit: "50mb"}));
app.use(bodyParser.urlencoded({limit: "50mb", extended: true, parameterLimit:50000}));
app.use(express.static(path.join(__dirname, 'public')));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(session({
    secret: 'reis&turlwaysrunning',
    resave: true,
    saveUninitialized: true,
 } ));
app.use(logErrors);
app.use(passport.initialize());
app.use(passport.session());
app.use(flash());
app.use(function (req, res, next) {
    res.locals.login = req.user;
    next();
});

0 个答案:

没有答案