|
|
|
|
@ -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;
|