mirror of https://github.com/TriliumNext/Notes
store session secret in file
parent
2df7940392
commit
10b94f3a7d
@ -0,0 +1,26 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const fs = require('fs');
|
||||||
|
const crypto = require('crypto');
|
||||||
|
const dataDir = require('./data_dir');
|
||||||
|
|
||||||
|
const sessionSecretPath = dataDir.TRILIUM_DATA_DIR + "/session_secret.txt";
|
||||||
|
|
||||||
|
let sessionSecret;
|
||||||
|
|
||||||
|
function randomValueHex(len) {
|
||||||
|
return crypto.randomBytes(Math.ceil(len / 2))
|
||||||
|
.toString('hex') // convert to hexadecimal format
|
||||||
|
.slice(0, len).toUpperCase(); // return required number of characters
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!fs.existsSync(sessionSecretPath)) {
|
||||||
|
sessionSecret = randomValueHex(64);
|
||||||
|
|
||||||
|
fs.writeFileSync(sessionSecretPath, sessionSecret, 'ASCII');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sessionSecret = fs.readFileSync(sessionSecretPath, 'ASCII');
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = sessionSecret;
|
||||||
Loading…
Reference in New Issue