Skip to content

Commit 71ddb17

Browse files
committed
first stable version
1 parent 8b7f873 commit 71ddb17

File tree

8 files changed

+1585
-22
lines changed

8 files changed

+1585
-22
lines changed

app.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ var indexRouter = require('./routes/index');
1111
var usersRouter = require('./routes/users');
1212
var apiRouter = require('./routes/api');
1313
var ownerRouter = require('./routes/owner');
14+
var visitorRouter = require('./routes/visitor');
1415

1516
var app = express();
1617

@@ -26,10 +27,30 @@ app.use(bodyParser.urlencoded({ extended: true }));
2627
app.use(cookieParser());
2728
app.use(express.static(path.join(__dirname, 'public')));
2829

30+
31+
const dotenv = require("dotenv").config();
32+
const jwt = require("express-jwt");
33+
34+
function authenticateToken(req, res, next) {
35+
// Gather the jwt access token from the request header
36+
const authHeader = req.headers['authorization']
37+
const token = authHeader && authHeader.split(' ')[1]
38+
if (token == null) return res.sendStatus(401) // if there isn't any token
39+
40+
jwt.verify(token, process.env.TOKEN_SECRET, (err, user) => {
41+
console.log(err)
42+
if (err) return res.sendStatus(403)
43+
req.user = user
44+
next() // pass the execution off to whatever request the client intended
45+
})
46+
}
47+
48+
2949
app.use('/', indexRouter);
3050
app.use('/users', usersRouter);
3151
app.use('/qr', apiRouter);
3252
app.use('/owner', ownerRouter);
53+
app.use('/visitor', jwt({ secret: process.env.TOKEN_SECRET }), visitorRouter)
3354

3455
// catch 404 and forward to error handler
3556
app.use(function(req, res, next) {

package-lock.json

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

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@
66
"start": "nodemon ./bin/www"
77
},
88
"dependencies": {
9+
"axios": "^0.19.2",
910
"cookie-parser": "~1.4.4",
1011
"cors": "^2.8.5",
1112
"debug": "~2.6.9",
13+
"dotenv": "^8.2.0",
1214
"ejs": "~2.6.1",
1315
"express": "~4.16.1",
16+
"express-jwt": "^5.3.3",
1417
"http-errors": "~1.6.3",
18+
"jsonwebtoken": "^8.5.1",
1519
"morgan": "~1.9.1",
1620
"mssql": "^6.2.0",
1721
"qrcode": "^1.4.4"

routes/auth.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
const jwt = require("jsonwebtoken");
2+
3+
function authenticateToken(req, res, next) {
4+
// Gather the jwt access token from the request header
5+
const authHeader = req.headers['authorization']
6+
const token = authHeader && authHeader.split(' ')[1]
7+
if (token == null) return res.sendStatus(401) // if there isn't any token
8+
9+
jwt.verify(token, process.env.TOKEN_SECRET, (err, user) => {
10+
console.log(err)
11+
if (err) return res.sendStatus(403)
12+
req.user = user
13+
next() // pass the execution off to whatever request the client intended
14+
})
15+
}
16+
17+
module.exports = {
18+
auth: authenticateToken
19+
}

routes/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var router = express.Router();
33

44
/* GET home page. */
55
router.get('/', function(req, res, next) {
6-
res.render('index', { title: 'Express' });
6+
res.render('index', { title: 'GetDingDing.com' });
77
});
88

99
module.exports = router;

0 commit comments

Comments
 (0)