diff --git a/lib/app.js b/lib/app.js index c1c4e278..f84fb102 100755 --- a/lib/app.js +++ b/lib/app.js @@ -28,7 +28,6 @@ var argv = require('optimist').argv; var LamassuConfig = require('lamassu-config'); var atm = require('lamassu-atm-protocol'); var format = require('util').format; -var clientCertificateAuth = require('client-certificate-auth'); var conString, dbConfig, config; @@ -61,16 +60,17 @@ config.load(function(err, conf) { }); } else { - authMiddleware = clientCertificateAuth({ rejectUnauthorized: false }, function(cert, done) { - config.isAuthorized(cert.fingerprint, function(err, authorized) { - if (err) { - console.error('Client certificate authorization failed', err.message); - return done(false); - } + authMiddleware = function(req, res, next) { + var fingerprint = req.connection.getPeerCertificate().fingerprint; + var e = new Error('Unauthorized'); + e.status = 401; - done(authorized); + config.isAuthorized(fingerprint, function (err, authorized) { + if (err) { return next(e); } + if (!authorized) { return next(e); } + next(); }); - }); + }; var options = { key: fs.readFileSync(argv.key),