30 lines
760 B
JavaScript
30 lines
760 B
JavaScript
const session = require('express-session');
|
|
const MySQLStore = require('express-mysql-session')(session);
|
|
|
|
const store = new MySQLStore({
|
|
host: process.env.DB_HOST || 'localhost',
|
|
user: process.env.DB_USER || 'wa_tools',
|
|
password: process.env.DB_PASSWORD || '',
|
|
database: process.env.DB_NAME || 'wa_tools',
|
|
clearExpired: true,
|
|
checkExpirationInterval: 900000,
|
|
expiration: 86400000,
|
|
createDatabaseTable: true,
|
|
});
|
|
|
|
module.exports = session({
|
|
key: 'wa_dev_tools',
|
|
secret: process.env.SESSION_SECRET || 'change-me-in-env',
|
|
store,
|
|
resave: false,
|
|
saveUninitialized: false,
|
|
cookie: {
|
|
maxAge: 86400000,
|
|
httpOnly: true,
|
|
secure: process.env.NODE_ENV === 'production',
|
|
sameSite: 'lax',
|
|
},
|
|
});
|
|
|
|
module.exports.store = store;
|