|
|
@@ -0,0 +1,19 @@
|
|
|
+import {redirect} from "@sveltejs/kit";
|
|
|
+import jwt from "jsonwebtoken";
|
|
|
+import {JWT_SECRET} from "$env/static/private";
|
|
|
+import User from "$lib/server/models/User.js";
|
|
|
+
|
|
|
+export default async function userAuth(cookies){
|
|
|
+ const userCookie = cookies.get("user");
|
|
|
+ if(!userCookie) redirect(303, "/");
|
|
|
+
|
|
|
+ let user;
|
|
|
+ try{
|
|
|
+ const userData = jwt.verify(userCookie, JWT_SECRET);
|
|
|
+ user = await User.findOne({_id: userData.id, token: userData.token});
|
|
|
+ }catch{
|
|
|
+ redirect(303, "/");
|
|
|
+ }
|
|
|
+
|
|
|
+ return user;
|
|
|
+}
|