尝试获取会话数据,一条路线的作品不适用于其他路线

Trying to get session data, works from one route does not work from other

我正在尝试使用 passport js 获取会话数据。当我使用 /test 或 /test2 路由时,我得到了会话数据。如果我尝试在这些路由中使用 console.log,我将获得整个会话数据。但是当我用 /user_data 尝试时,我似乎没有得到预期的响应。我哪里错了?我正在使用 passport.js 和快速会话。通过 /user_data 路线时,我得到以下输出:

Session {
  cookie: { path: '/', _expires: null, originalMaxAge: null, httpOnly: true }
}

这是我正在使用的代码,到目前为止它还很脏,因为我正在尝试修改。

const express = require('express')
const app = express()
const session = require('express-session');
const port = 3000
const passport =require("passport")
const GoogleStrategy = require('passport-google-oauth2').Strategy;
const bodyParser = require("body-parser");

passport.serializeUser(function(user, done) {
    done(null, user);
});

passport.deserializeUser(function(user, done) {
        done(null, user);
});

passport.use(new GoogleStrategy({
        clientID:"some.com",
        clientSecret:"some_secret",
        callbackURL: "http://localhost:3000/auth/google/callback",
        passReqToCallback   : true
    },
    function(request, accessToken, refreshToken, profile, done) {
            return done(null, profile);
    }
));
app.use(session({
  resave: false,
  saveUninitialized: true,
  secret: 'SECRET' 
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.get("/failed", (req, res) => {
    res.send("Failed")
})
app.get("/success", (req, res) => {
    res.send(`Welcome ${req.user.email}`)
})

app.get('/auth/google',
    passport.authenticate('google', {
            scope:
                ['email', 'profile']
        }
    ));

app.get('/auth/google/callback',
    passport.authenticate('google', {
        failureRedirect: '/failed',
    }),
    function (req, res) {
        res.redirect('/')

    }
);
app.get("/test",(req,res)=>{
    let sess = req.session;
    console.log(sess);
    var email=sess.passport.user.email;
    var netid=email.split('@')[0];
    req.session.netid=netid;
    console.log(netid);
    // console.log(sess.user.id);
    res.send("test")
});
app.get("/test2",(req,res)=>{
    let sess = req.session;
    console.log(sess);
    var netid=sess.netid;
    console.log(netid);
    res.send("test2")
});
app.get("/user_data",(req,res)=>{
    var sess = req.session;
    console.log(sess.passport);
    res.send(sess.passport);
});
app.get('/logout', function(req, res){req.logOut();res.redirect('/');});
app.get('/', (req, res) => {res.sendFile(__dirname + "/pages/index.html");})
app.listen(port, () => console.log(`Example app listening on port ${port}!`))

理论上 user_data 只是另一个端点,在此基础上它应该像 test 和 test2 一样工作。

但是,user_data 可能是保留名称。尝试将该端点更改为其他内容。