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