Skip to content

Commit e80cc61

Browse files
author
Johannes Reppin
committed
add mongodb session store
1 parent da6d92b commit e80cc61

File tree

3 files changed

+70
-6
lines changed

3 files changed

+70
-6
lines changed

package-lock.json

+56-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
"bcrypt": "^5.1.0",
5353
"class-transformer": "^0.5.1",
5454
"class-validator": "^0.14.0",
55+
"connect-mongo": "^5.1.0",
5556
"dotenv": "^16.0.3",
5657
"express-session": "^1.17.3",
5758
"handlebars": "^4.7.7",
@@ -93,7 +94,7 @@
9394
"@types/bcrypt": "^5.0.0",
9495
"@types/chai": "^5.0.0",
9596
"@types/express": "^5.0.0",
96-
"@types/express-session": "^1.17.4",
97+
"@types/express-session": "^1.18.1",
9798
"@types/jest": "^27.0.2",
9899
"@types/js-yaml": "^4.0.9",
99100
"@types/jsonpath-plus": "^5.0.5",

src/main.ts

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import session from "express-session";
2+
import MongoStore from "connect-mongo";
23
import { NestFactory } from "@nestjs/core";
34
import {
45
DocumentBuilder,
@@ -95,21 +96,28 @@ async function bootstrap() {
9596
const expressSessionSecret = configService.get<string>(
9697
"expressSessionSecret",
9798
);
99+
const mongoUrl = configService.get<string>("mongodbUri");
100+
98101
if (expressSessionSecret) {
99102
app.use(
100103
session({
101104
secret: expressSessionSecret,
102105
resave: false,
103106
saveUninitialized: true,
107+
store: MongoStore.create({
108+
mongoUrl, // MongoDB connection string
109+
collectionName: "sessions", // Collection name for storing sessions
110+
ttl: 24 * 60 * 60, // Session TTL (24 hours)
111+
}),
112+
cookie: {
113+
secure: true,
114+
},
104115
}),
105116
);
106117
}
107118

108119
const port = configService.get<number>("port") ?? 3000;
109-
Logger.log(
110-
"MongoDB URI : " + configService.get<string>("mongodbUri"),
111-
"Main",
112-
);
120+
Logger.log("MongoDB URI : " + mongoUrl, "Main");
113121
Logger.log("Scicat Backend listening on port: " + port, "Main");
114122

115123
await app.listen(port);

0 commit comments

Comments
 (0)