Tôi đang xây dựng hệ thống xác thực bằng Passport.js bằng Xác thực nút dễ dàng: Hướng dẫn thiết lập và cục bộ .
Tôi bối rối về điều gì passport.session() hiện.
Sau khi thử nghiệm với các phần mềm trung gian khác nhau, tôi đã hiểu rằng đó express.session()là thứ gửi ID phiên qua cookie cho khách hàng, nhưng tôi bối rối về điều gì passport.session()làm được và tại sao nó lại được yêu cầu ngoàiexpress.session() .
Đây là cách tôi thiết lập ứng dụng của mình:
// Server.js định cấu hình ứng dụng và thiết lập máy chủ web
//importing our modules
var express = require('express');
var app = express();
var port = process.env.PORT || 8080;
var mongoose = require('mongoose');
var passport = require('passport');
var flash = require('connect-flash');
var configDB = require('./config/database.js');
//Configuration of Databse and App
mongoose.connect(configDB.url); //connect to our database
require('./config/passport')(passport); //pass passport for configuration
app.configure(function() {
    //set up our express application
    app.use(express.logger('dev')); //log every request to the console
    app.use(express.cookieParser()); //read cookies (needed for auth)
    app.use(express.bodyParser()); //get info from html forms
    app.set('view engine', 'ejs'); //set up ejs for templating
    //configuration for passport
    app.use(express.session({ secret: 'olhosvermelhoseasenhaclassica', maxAge:null })); //session secret
    app.use(passport.initialize());
    app.use(passport.session()); //persistent login session
    app.use(flash()); //use connect-flash for flash messages stored in session
});
//Set up routes
require('./app/routes.js')(app, passport);
//launch
app.listen(port);
console.log("Server listening on port" + port);