I have an extremely small express app to illustrate a problem I'm having.
I'm using connect-redis as a session store on my express app. I'm having a problem simply connecting to it though. Simply printing out req.session.store
results in undefined
as shown below:
const session = require('express-session')
const app = require('express')()
const RedisStore = require('connect-redis')(session);
const isDev = process.env.NODE_ENV !== 'production'
app.use(session({
store: new RedisStore({
host: 'localhost',
port: 6379
}),
secret: 'super-secret-key', // TBD: grab from env
resave: false,
saveUninitialized: false,
cookie: {
maxAge: 1000 * 60 * 60 * 24,
secure: !isDev, // require HTTPS in production
}
}))
app.get('/', (req, res) => {
console.log('**testing**')
console.log(req.session.store)
res.send('rendering this text')
})
app.listen(3001, () => {
console.log('listening on 3001')
})
The output of this is:
listening on 3001
**testing**
undefined
In the store
property, I've tried connecting via the url
property and the client
property in addition to the current host
and port
method.
I'm not seeing any errors either so I'm not sure why the store
is always undefined.
What am I missing with this?
also, I did start redis using redis-server
and I am able to connect to it through other clients
Update 1
Also, I did look at this StackOverflow which some found useful. The issue is, from version 1.5>
of express-session
, it says you don't need the cookie-parser
module, so I don't believe that's the issue.
from Simple Node/Express app not recognizing Session store
No comments:
Post a Comment