1
0
mirror of https://github.com/stolksdorf/homebrewery.git synced 2025-12-21 19:31:28 +00:00

Cleaned up the admin routes

This commit is contained in:
Scott Tolksdorf
2017-01-06 19:21:18 -05:00
parent ca40ec5a2d
commit a26c4e2092
9 changed files with 99 additions and 86 deletions

View File

@@ -1,5 +1,6 @@
const _ = require('lodash');
const jwt = require('jwt-simple');
const auth = require('basic-auth');
const config = require('nconf');
const Error = require('./error.js');
@@ -9,13 +10,13 @@ const Middleware = {
account : (req, res, next) => {
if(req.cookies && req.cookies.nc_session){
try{
req.account = jwt.decode(req.cookies.nc_session, config.get('secret'));
req.account = jwt.decode(req.cookies.nc_session, config.get('jwt_secret'));
}catch(e){}
}
return next();
},
admin : (req, res, next) => {
if(req.query.admin_key === config.get('admin_key')){
if(req.query.admin_key === config.get('admin:key')){
req.admin = true;
}
return next();
@@ -31,6 +32,15 @@ const Middleware = {
if(req.admin) return next();
return next(Error.noAuth());
},
adminLogin : (req, res, next) => {
const creds = auth(req);
if(!creds
|| creds.name !== config.get('admin:user')
|| creds.pass !== config.get('admin:pass')){
return next(Error.noAdmin());
}
return next();
},
//Loaders