首页 > 解决方案 > Passport Js + Nodejs + Expressjs,认证路由

问题描述

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

我认为问题可能是会话,但是因为在 localhost 模式下不会出现问题,这是我的一个问题

我的护照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();
});

标签: node.jsexpresspassport.js

解决方案


推荐阅读