Add basic auth

This commit is contained in:
John Furrow
2016-01-09 18:17:07 -08:00
parent e5f21b0b2c
commit 7ca2d63681
5 changed files with 49 additions and 15 deletions
+2
View File
@@ -29,6 +29,8 @@
"lodash": "^3.10.1",
"morgan": "~1.5.1",
"object-assign": "^2.0.0",
"passport": "^0.3.2",
"passport-http": "^0.3.0",
"q": "^1.2.0",
"react": "^0.14.3",
"react-addons-css-transition-group": "^0.14.3",
+4 -4
View File
@@ -1,12 +1,12 @@
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var path = require('path');
var routes = require('./routes/index');
var client = require('./routes/client');
var routes = require('./routes/index');
var app = express();
+22
View File
@@ -0,0 +1,22 @@
var users = [
{
username: 'username',
password: 'password'
}
];
var usersDB = {
findByUsername: function(username, callback) {
process.nextTick(function() {
for (var i = 0, len = users.length; i < len; i++) {
var user = users[i];
if (user.username === username) {
return callback(null, user);
}
}
return callback(null, null);
});
}
};
module.exports = usersDB;
-8
View File
@@ -13,14 +13,6 @@ var handleClientResponse = function (res) {
}
}
router.get('/', function(req, res, next) {
});
// router.get('/add', function(req, res, next) {
// client.add('get', handleClientResponse(res));
// });
router.post('/add', function(req, res, next) {
client.add(req.body, handleClientResponse(res));
});
+21 -3
View File
@@ -1,8 +1,26 @@
var express = require('express');
var passport = require('passport');
var router = express.Router();
var Strategy = require('passport-http').BasicStrategy;
router.get('/', function(req, res, next) {
res.render('index', { title: 'Flood' });
});
var users = require('../db/users');
passport.use(new Strategy(
function(username, password, callback) {
users.findByUsername(username, function(err, user) {
if (err) { return callback(err); }
if (!user) { return callback(null, false); }
if (user.password != password) { return callback(null, false); }
return callback(null, user);
});
}
));
router.get('/', passport.authenticate('basic', { session: false }),
function(req, res) {
res.render('index', { title: 'Flood' });
// res.json({ username: req.user.username, email: req.user.emails[0].value });
}
);
module.exports = router;