blob: f907e6c2620b403cd6d81ab3d2276a5efd298dbb (
plain)
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
|
const jwt = require("jsonwebtoken");
const { JWT_KEY } = require("./");
function authenticateToken(req, res, next) {
if (!req.cookies || !req.cookies.auth_token) {
return res.redirect("/login");
}
const token = req.cookies.auth_token;
// If no token, deny access
if (!token) {
return res.redirect(
`/login?redirect=${encodeURIComponent(req.originalUrl)}`,
);
}
try {
const user = jwt.verify(token, JWT_KEY);
req.user = user;
next();
} catch (error) {
res.redirect(`/login?redirect=${encodeURIComponent(req.originalUrl)}`);
}
}
module.exports = { authenticateToken };
|