Skip to content

Commit f89316f

Browse files
authored
Merge pull request #99 from antoninbouchal/basic-auth
Add HTTP basic auth option via ENV variables.
2 parents 05c93bc + 53349c7 commit f89316f

File tree

4 files changed

+208
-188
lines changed

4 files changed

+208
-188
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ If you need to set/use an alternative host or port, you may do so by setting an
3131

3232
HOST=0.0.0.0 PORT=9000 crontab-ui
3333

34+
If you need to apply basic HTTP authentication, you can set user name and password through environment variables:
35+
36+
BASIC_AUTH_USER=user BASIC_AUTH_PWD=SecretPassword
37+
3438
Also, you may have to **set permissions** for your `node_modules` folder. Refer [this](https://docs.npmjs.com/getting-started/fixing-npm-permissions).
3539

3640
If you need to autosave your changes to crontab directly:

app.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,30 @@ var app = express();
44
var crontab = require("./crontab");
55
var restore = require("./restore");
66
var moment = require('moment');
7+
var basicAuth = require('express-basic-auth');
78

89
var path = require('path');
910
var mime = require('mime-types');
1011
var fs = require('fs');
1112
var busboy = require('connect-busboy'); // for file upload
1213

14+
// basic auth
15+
var BASIC_AUTH_USER = process.env.BASIC_AUTH_USER;
16+
var BASIC_AUTH_PWD = process.env.BASIC_AUTH_PWD;
17+
18+
if (BASIC_AUTH_USER && BASIC_AUTH_PWD) {
19+
app.use(function(req, res, next) {
20+
res.setHeader('WWW-Authenticate', 'Basic realm="Restricted Area"')
21+
next();
22+
});
23+
24+
app.use(basicAuth({
25+
users: {
26+
[BASIC_AUTH_USER]: BASIC_AUTH_PWD
27+
}
28+
}))
29+
}
30+
1331
// include the routes
1432
var routes = require("./routes").routes;
1533

0 commit comments

Comments
 (0)