From 973f0b0e0a4acf29471aea4110a2d5785821153f Mon Sep 17 00:00:00 2001 From: Stefan Asbeck Date: Tue, 8 May 2018 22:04:02 +0200 Subject: [PATCH] Create new random masterAuthSecret if secret-api-token.txt doesn't exist. --- master.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/master.js b/master.js index 6ca8f282..7e0a1ad6 100644 --- a/master.js +++ b/master.js @@ -43,6 +43,18 @@ const nedb = require("nedb"); const jwt = require('jsonwebtoken'); const bcrypt = require('bcryptjs'); + +var crypto = require('crypto'); +var base64url = require('base64url'); + +/** Sync */ +function randomStringAsBase64Url(size) { + return base64url(crypto.randomBytes(size)); +} +if (!fs.existsSync("secret-api-token.txt")) { + config.masterAuthSecret = randomStringAsBase64Url(256); + fs.writeFileSync("config.json",JSON.stringify(config, null, 4)); +} // write an auth token to file fs.writeFileSync("secret-api-token.txt", jwt.sign({ id: "api" }, config.masterAuthSecret, { expiresIn: 86400*365 // expires in 1 year