MONGO SESSION STORE
WE PREVIOUSLY USED EXPRESS SESSIONS , BUT THEY ARE ONLY USED FOR DEVELOPMENT. THEY CANNOT BE USED FOR PRODUCTION ENVIRONMENT.HENCE,WE USE MONGOOSE SESSIONS.
TO INSTALL : npm i connect-mongo
USING MONGO CONNECT(REFER DOCUMENTATION FOR USAGE )
const store = MongoStore.create({
mongoUrl: dbURL,
crypto: {
secret: "secret71",
},
touchAfter: 24 * 3600,
});
cons
CRYPTO IS USED FOR PROTECTION AND TOUCH AFTER IS USED TO UPDATE THE SESSION AFTER A GIVEN TIME (IN SECONDS) WHEN THERE IS NO CHANGE/UPDATE IN THAT PARTICULAR SESSION.
SIMPLY, A SESSION IS UPDATED WHENEVER,IT IS REFRESHED. INORDER TO OVERCOME THIS (THAT IS WE DONT WANT TO REFRESH THE SESSION EVEN THOUGH THERE IS NO UPDATE ) WE USE TOUCH AFTER.
THE store VARIABLE IS PASSED TO THE SESSION OPTION
const sessionOptions = {
store,
secret: "secret71",
resave: false,
saveUninitialized: true,
cookie: {
expires: Date.now() + 7 * 24 * 60 * 60 * 1000,
maxAge: 7 * 24 * 60 * 60 * 1000,
httpOnly: true,
},
};
ADDITIONALLY, A FUNCTION IS CREATED TO DETECT ERRORS IN THIS PROCESS.
store.on("error", () => {
console.log("Error in Mongo Session Store",err);
});

Comments
Post a Comment