to much to say

This commit is contained in:
2024-01-23 22:28:46 +01:00
parent b728e1508a
commit 9a192622b1
16 changed files with 3884 additions and 106 deletions
+50
View File
@@ -0,0 +1,50 @@
const {verifyToken, generateAccesToken, generateRefreshToken} = require("./auth");
const auth = (req, res, next) => {
const refreshToken = req.cookies.refreshToken;
const accessToken = req.cookies.accessToken;
const permtoken = req.cookies.permtoken;
if(!refreshToken && !accessToken && !permtoken) return res.status(401).json({error: "Unauthorized"});
if(accessToken){
const result = verifyToken(accessToken);
if(result.user){
req.user = result.user;
return next();
}
}
else if(refreshToken && !accessToken){
const result = verifyToken(refreshToken);
if(result != false){
//create new access token
const newAccessToken = generateAccesToken(result.user);
res.cookie("accessToken", newAccessToken, {httpOnly: true});
}
if(result.user){
req.user = result.user;
return next();
}
}
else if(permtoken){
const result = verifyToken(permtoken);
if(result != false){
//create new access token
const newAccessToken = generateAccesToken(result.user);
res.cookie("accessToken", newAccessToken, {httpOnly: true});
//create new refresh token
const newRefreshToken = generateRefreshToken(result.user);
res.cookie("refreshToken", newRefreshToken, {httpOnly: true});
}
if(result.user){
req.user = result.user;
return next();
}
}
return res.status(401).json({error: "Unauthorized"});
}
module.exports = auth;