Add basic auth
This commit is contained in:
parent
35fbefef03
commit
7fd8bd3071
4 changed files with 25 additions and 4 deletions
|
@ -29,6 +29,7 @@
|
||||||
"compression": "=1.6.2",
|
"compression": "=1.6.2",
|
||||||
"connect-static-file": "=1.1.2",
|
"connect-static-file": "=1.1.2",
|
||||||
"express": "=4.14.0",
|
"express": "=4.14.0",
|
||||||
|
"express-basic-auth": "=0.2.3",
|
||||||
"express-winston": "=2.1.2",
|
"express-winston": "=2.1.2",
|
||||||
"helmet": "=3.4.0",
|
"helmet": "=3.4.0",
|
||||||
"opbeat": "=4.7.0",
|
"opbeat": "=4.7.0",
|
||||||
|
|
17
src/basic-auth.js
Normal file
17
src/basic-auth.js
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
const basicAuth = require('express-basic-auth');
|
||||||
|
const { BASIC_AUTH_ENABLED } = require('./consts');
|
||||||
|
|
||||||
|
function basicAuthHandler(username, password) {
|
||||||
|
return process.env.BASIC_AUTH_USERNAME === username && process.env.BASIC_AUTH_PASSWORD === password;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (BASIC_AUTH_ENABLED) {
|
||||||
|
module.exports = basicAuth({
|
||||||
|
authorizer: basicAuthHandler,
|
||||||
|
challenge: true
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
module.exports = (req, res, next) => next();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,5 +4,6 @@ module.exports = {
|
||||||
SERVE_DIR: IN_TEST ? 'site/' : process.argv[process.argv.length - 1],
|
SERVE_DIR: IN_TEST ? 'site/' : process.argv[process.argv.length - 1],
|
||||||
PORT: process.env.PORT || 5000,
|
PORT: process.env.PORT || 5000,
|
||||||
IN_TEST,
|
IN_TEST,
|
||||||
IN_PRODUCTION: process.env.NODE_ENV === 'production'
|
IN_PRODUCTION: process.env.NODE_ENV === 'production',
|
||||||
|
BASIC_AUTH_ENABLED: process.env.BASIC_AUTH_USERNAME && process.env.BASIC_AUTH_PASSWORD
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,20 +3,22 @@
|
||||||
console.log('Starting Server...');
|
console.log('Starting Server...');
|
||||||
|
|
||||||
const app = require('express')();
|
const app = require('express')();
|
||||||
const utils = require('./consts');
|
const consts = require('./consts');
|
||||||
|
|
||||||
const compression = require('compression');
|
const compression = require('compression');
|
||||||
const helmet = require('helmet');
|
const helmet = require('helmet');
|
||||||
const opbeat = require('opbeat').start({
|
const opbeat = require('opbeat').start({
|
||||||
active: utils.IN_PRODUCTION
|
active: consts.IN_PRODUCTION
|
||||||
});
|
});
|
||||||
|
|
||||||
const logging = require('./logging');
|
const logging = require('./logging');
|
||||||
const staticFiles = require('./static-files');
|
const staticFiles = require('./static-files');
|
||||||
const handle404 = require('./404');
|
const handle404 = require('./404');
|
||||||
|
const basicAuth = require('./basic-auth');
|
||||||
|
|
||||||
// Custom Middleware
|
// Custom Middleware
|
||||||
app.use(logging);
|
app.use(logging);
|
||||||
|
app.use(basicAuth);
|
||||||
app.use(staticFiles.indexHandle);
|
app.use(staticFiles.indexHandle);
|
||||||
app.use(staticFiles.static);
|
app.use(staticFiles.static);
|
||||||
app.use(handle404);
|
app.use(handle404);
|
||||||
|
@ -26,7 +28,7 @@ app.use(compression({ level: 9 }));
|
||||||
app.use(helmet());
|
app.use(helmet());
|
||||||
app.use(opbeat.middleware.express());
|
app.use(opbeat.middleware.express());
|
||||||
|
|
||||||
const server = app.listen(utils.PORT, function () {
|
const server = app.listen(consts.PORT, function () {
|
||||||
console.log('Server started on ' + server.address().port);
|
console.log('Server started on ' + server.address().port);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Reference in a new issue