Reputation: 2606
This code
router.post("/", (req, res) =>
{
console.log(req.session)
console.log(req.session.id)
})
prints
Session { cookie: { path: '/', _expires: null, originalMaxAge: null, httpOnly: true }, passport: { user: 'red' } }
and then
2sJgQxjBCbKgPiUN3pUdcDty_35GELeE
Is session.id
stored inside session
? Why it is not displayed after the first call to console.log
?
Here is the setup:
app.use(bodyParser.urlencoded({ extended:true }))
var RedisStore = connectRedis(session)
app.use(session(
{
store: new RedisStore({ url: config.redisStore.url }),
secret: config.redisStore.url,
resave: false,
saveUninitialized: false
}))
Upvotes: 0
Views: 1936
Reputation: 775
In Node.js, console.log
only displays own enumerable properties of an object by using Object.keys()
.
The id
property of a Session
instance is not enumerable since it's defined as (enumerable: false
by default):
Object.defineProperty(this, 'id', { value: req.sessionID });
Upvotes: 1