Implemented basic auth

ref #26
This commit is contained in:
2021-02-13 16:09:58 +01:00
parent e306cdb2c8
commit bdeadd274b
4 changed files with 40 additions and 2 deletions

View File

@@ -1,3 +1,4 @@
import consola from "consola";
import { config as configDotenv } from 'dotenv';
configDotenv();
@@ -9,7 +10,8 @@ export const config = {
currency_symbol: process.env.CURRENCY_SYMBOL || "€",
sponsoring_receipt_minimum_amount: process.env.SPONSORING_RECEIPT_MINIMUM_AMOUNT || "10",
codeformat: process.env.CODEFORMAT || "qrcode",
sponor_logos: getSponsorLogos()
sponor_logos: getSponsorLogos(),
api_key: getApiKey(),
}
let errors = 0
if (typeof config.internal_port !== "number") {
@@ -27,4 +29,23 @@ function getSponsorLogos(): string[] {
return ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg=="];
}
}
function getApiKey(): string {
const key = process.env.API_KEY;
if (!key) {
consola.info("No API key set - generating a random one...");
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const charactersLength = characters.length;
for (var i = 0; i < 64; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
consola.info(`API KEY: ${result}`)
return result;
}
if (key.length < 64) {
consola.error(`API key is too short - minimum: 64, current: ${key.length}`)
throw new Error("API_KEY too short.")
}
}
export let e = errors