26 lines
764 B
JavaScript
26 lines
764 B
JavaScript
const jwt = require("jsonwebtoken");
|
|
const { sendResponse } = require("./responses");
|
|
const { parse } = require('cookie'); // Import the 'cookie' package
|
|
const env = require("../helpers/Env");
|
|
|
|
function isAuthenticated(req, res, next) {
|
|
// Use the 'cookie' package to parse cookies from the request header
|
|
const cookies = parse(req.headers.cookie || '');
|
|
|
|
try {
|
|
const token = cookies.token; // Access the 'token' cookie
|
|
if (!token) {
|
|
return sendResponse(res, 401, { error: "Authentication failed" });
|
|
}
|
|
const decoded = jwt.verify(token, env.get("JWT_KEY"));
|
|
next(res, decoded);
|
|
} catch (error) {
|
|
console.log(error);
|
|
sendResponse(res, 401, { error: "Authentication failed" });
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
isAuthenticated
|
|
}
|