lamassu-server/lib/new-admin/middlewares/session.js
Sérgio Salgado 0272dc2bd1 chore: remove db $ instances
fix: add compute-schema file
fix: to_timestamp() psql usage

chore: rephrase expired session deletion
2021-11-16 16:46:12 +00:00

45 lines
1.1 KiB
JavaScript

const fs = require('fs')
const express = require('express')
const router = express.Router()
const hkdf = require('futoin-hkdf')
const session = require('express-session')
const PgSession = require('connect-pg-simple')(session)
const mnemonicHelpers = require('../../mnemonic-helpers')
const db = require('../../db')
const options = require('../../options')
const { USER_SESSIONS_TABLE_NAME } = require('../../constants')
const getSecret = () => {
const mnemonic = fs.readFileSync(options.mnemonicPath, 'utf8')
return hkdf(
mnemonicHelpers.toEntropyBuffer(mnemonic),
16,
{ info: 'operator-id' }
).toString('hex')
}
const hostname = options.hostname
const lamaDb = {
query: (query, values, qrm) => db.query(query, values, qrm, false)
}
router.use('*', session({
store: new PgSession({
pgPromise: lamaDb,
tableName: USER_SESSIONS_TABLE_NAME
}),
name: 'lid',
secret: getSecret(),
resave: false,
saveUninitialized: false,
cookie: {
httpOnly: true,
secure: true,
domain: hostname,
sameSite: true,
maxAge: 60 * 10 * 1000 // 10 minutes
}
}))
module.exports = router