Skip to content

Commit 88fde23

Browse files
built out authorize middleware
1 parent 7552702 commit 88fde23

4 files changed

Lines changed: 90 additions & 24 deletions

File tree

package-lock.json

Lines changed: 63 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@
2020
"chai-http": "^3.0.0",
2121
"concurrently": "^3.5.1",
2222
"mocha": "^5.0.4",
23-
"nodemon": "^1.9.1"
23+
"nodemon": "^1.9.1",
24+
"superagent": "^3.8.2"
2425
},
2526
"dependencies": {
27+
"basic-auth": "^2.0.0",
2628
"bcrypt": "^1.0.3",
2729
"body-parser": "~1.18.2",
2830
"config": "^1.30.0",

src/middleware/index.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
const auth = require('basic-auth');
2+
const User = require('../models/user');
3+
4+
5+
export function authorizeUser(req, res, next) {
6+
let user = auth(req);
7+
if(!user || !user.name || !user.pass){
8+
const err = new Error("Access Denied: Please supply login credentials!");
9+
err.status = 401;
10+
return next(err);
11+
}
12+
User.authenticate(user.name, user.pass, (error, user) => {
13+
if(error || !user){
14+
const err = new Error("Access Denied: Wrong email or password");
15+
err.status = 401;
16+
return next(err);
17+
}
18+
req.session.userId = user._id;
19+
return next();
20+
});
21+
}

src/routes/user.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
const express = require('express');
22
const router = express.Router();
33
const User = require('../models/user');
4+
import {authorizeUser} from "../middleware/index";
45

56
/* GET home page. */
6-
router.get('/', function(req, res, next) {
7+
router.get('/', authorizeUser, (req, res, next) => {
8+
console.log(req.session.userId);
79
res.send('test');
810
});
911

0 commit comments

Comments
 (0)