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