-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrestricted.js
More file actions
35 lines (32 loc) · 986 Bytes
/
restricted.js
File metadata and controls
35 lines (32 loc) · 986 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const express = require("express");
const router = express.Router();
require("dotenv").config();
const jwt = require("jsonwebtoken");
//this verifies the oauth access token
// axios.get(`url`,
//{headers: { authorization: token }} <- pass in this object for every axios call as the second argument
//)
const restricted = function(req, res, next) {
const token = req.headers.authorization;
// console.log(token, "restricted route", req.cookies, "cookies");
if (!token || token === null) {
res.redirect(`/`);
} else {
jwt.verify(token, process.env.JWT_SECRET, function(err, decoded) {
console.log(token, "in verify");
console.log(err, decoded, "inside restricted decoder");
if (err) {
res.redirect("/");
} else {
req.email = decoded.email;
req.userId = decoded.userId;
if (req.userId) {
next();
} else {
res.redirect("/");
}
}
});
}
};
module.exports = restricted;