server-ts: Port services/session_secret

This commit is contained in:
Elian Doran 2024-02-18 13:13:16 +02:00
parent d89b791914
commit e4556afcc9
No known key found for this signature in database
2 changed files with 11 additions and 9 deletions

View File

@ -1,5 +1,5 @@
const session = require("express-session");
const sessionSecret = require('../services/session_secret.js');
const sessionSecret = require('../services/session_secret');
const dataDir = require('../services/data_dir');
const FileStore = require('session-file-store')(session);

View File

@ -1,15 +1,17 @@
"use strict";
const fs = require('fs');
const crypto = require('crypto');
const dataDir = require('./data_dir');
const log = require('./log');
import fs = require('fs');
import crypto = require('crypto');
import dataDir = require('./data_dir');
import log = require('./log');
const sessionSecretPath = `${dataDir.TRILIUM_DATA_DIR}/session_secret.txt`;
let sessionSecret;
function randomValueHex(len) {
const ENCODING = "ascii";
function randomValueHex(len: number) {
return crypto.randomBytes(Math.ceil(len / 2))
.toString('hex') // convert to hexadecimal format
.slice(0, len).toUpperCase(); // return required number of characters
@ -20,10 +22,10 @@ if (!fs.existsSync(sessionSecretPath)) {
log.info("Generated session secret");
fs.writeFileSync(sessionSecretPath, sessionSecret, 'ASCII');
fs.writeFileSync(sessionSecretPath, sessionSecret, ENCODING);
}
else {
sessionSecret = fs.readFileSync(sessionSecretPath, 'ASCII');
sessionSecret = fs.readFileSync(sessionSecretPath, ENCODING);
}
module.exports = sessionSecret;
export = sessionSecret;