feat(medusa): Expose session options (#3162)
This commit is contained in:
committed by
GitHub
parent
d50db84a33
commit
9ebb50104c
5
.changeset/serious-walls-mate.md
Normal file
5
.changeset/serious-walls-mate.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@medusajs/medusa": patch
|
||||
---
|
||||
|
||||
feat(medusa): Expose session options
|
||||
@@ -4,16 +4,16 @@ import {
|
||||
AwilixContainer,
|
||||
ClassOrFunctionReturning,
|
||||
createContainer,
|
||||
Resolver,
|
||||
Resolver
|
||||
} from "awilix"
|
||||
import Logger from "../logger"
|
||||
import {
|
||||
ConfigModule,
|
||||
MedusaContainer,
|
||||
ModuleResolution,
|
||||
MODULE_RESOURCE_TYPE,
|
||||
MODULE_SCOPE,
|
||||
MODULE_SCOPE
|
||||
} from "../../types/global"
|
||||
import Logger from "../logger"
|
||||
import registerModules from "../module"
|
||||
import { trackInstallation } from "../__mocks__/medusa-telemetry"
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import createStore from "connect-redis"
|
||||
import cookieParser from "cookie-parser"
|
||||
import { Express } from "express"
|
||||
import session from "express-session"
|
||||
import cookieParser from "cookie-parser"
|
||||
import morgan from "morgan"
|
||||
import redis, { RedisConfig } from "redis"
|
||||
import createStore from "connect-redis"
|
||||
import redis from "redis"
|
||||
import { ConfigModule } from "../types/global"
|
||||
|
||||
type Options = {
|
||||
@@ -22,17 +22,17 @@ export default async ({ app, configModule }: Options): Promise<Express> => {
|
||||
sameSite = "none"
|
||||
}
|
||||
|
||||
const { cookie_secret } = configModule.projectConfig
|
||||
const { cookie_secret, session_options } = configModule.projectConfig
|
||||
const sessionOpts = {
|
||||
resave: true,
|
||||
saveUninitialized: true,
|
||||
resave: session_options?.resave ?? true,
|
||||
saveUninitialized: session_options?.saveUninitialized ?? true,
|
||||
cookieName: "session",
|
||||
proxy: true,
|
||||
secret: cookie_secret,
|
||||
secret: session_options?.secret ?? cookie_secret,
|
||||
cookie: {
|
||||
sameSite,
|
||||
secure,
|
||||
maxAge: 10 * 60 * 60 * 1000,
|
||||
maxAge: session_options?.ttl ?? 10 * 60 * 60 * 1000,
|
||||
},
|
||||
store: null,
|
||||
}
|
||||
|
||||
@@ -100,10 +100,19 @@ export type ModuleExports = {
|
||||
models?: Constructor<any>[]
|
||||
}
|
||||
|
||||
type SessionOptions = {
|
||||
resave?: boolean
|
||||
saveUninitialized?: boolean
|
||||
secret?: string
|
||||
ttl?: number
|
||||
}
|
||||
|
||||
export type ConfigModule = {
|
||||
projectConfig: {
|
||||
redis_url?: string
|
||||
|
||||
session_options?: SessionOptions
|
||||
|
||||
jwt_secret?: string
|
||||
cookie_secret?: string
|
||||
|
||||
|
||||
Reference in New Issue
Block a user