UNPKG

diesel-core

Version:

Web framework built on Web Standards

2 lines (1 loc) 1.61 kB
function F(B,C){if(!B)throw new Error("JWT library is not defined, please provide jwt to authenticateJwt Function");return(z)=>{try{let m=z.cookies?.accessToken??z.req?.headers?.get("Authorization");if(!m)return z.json({message:"Unauthorized",error:"No token provided"},401);if(m.startsWith("Bearer "))m=m.slice(7);let q=B?.verify(m,C);if(!q)return z.json({message:"Unauthorized",error:"Token could not be decoded"},401);z.set("user",q)}catch(m){let q="Invalid token";if(m.name==="TokenExpiredError")q="Token expired";else if(m.name==="JsonWebTokenError")q="Malformed or tampered token";return z.json({message:"Unauthorized",error:q},401)}}}function G(B,C,z){if(!B)throw new Error("JWT library is not defined, please provide jwt to authenticateJwtDB Function");if(!C)throw new Error("User model is not defined, please provide UserModel to authenticateJwtDB Function");return async(m)=>{try{let q=m.cookies?.accessToken??m.req?.headers?.get("Authorization");if(!q)return m.json({message:"Unauthorized",error:"No token provided"},401);if(q.startsWith("Bearer "))q=q.slice(7);let A=B?.verify(q,z);if(!A)return m.json({message:"Unauthorized",error:"Token could not be decoded"},401);let E=await C.findById(A._id).select("-password -refreshToken");if(!E)return m.json({message:"Unauthorized: User not found"},404);m.set("user",E);return}catch(q){let A="Invalid token";if(q.name==="TokenExpiredError")A="Token expired";else if(q.name==="JsonWebTokenError")A="Malformed or tampered token";return m.json({message:"Unauthorized",error:A},401)}}}export{F as authenticateJwtMiddleware,G as authenticateJwtDbMiddleware};