فهرست منبع

Auto login if cookies already set.

Lee Morgan 1 سال پیش
والد
کامیت
73032d9a66
3فایلهای تغییر یافته به همراه22 افزوده شده و 1 حذف شده
  1. 1 0
      auth.js
  2. 1 1
      controllers/user.js
  3. 20 0
      views/js/pages/login.js

+ 1 - 0
auth.js

@@ -6,6 +6,7 @@ import jwt from "jsonwebtoken";
 const userAuth = async (req, res, next)=>{
     try{
         const userData = jwt.verify(req.signedCookies.userToken, process.env.JWT_SECRET);
+        console.log(userData);
         
         const user = await User.findOne({_id: userData.id});
         if(!user || user.uuid !== userData.token){

+ 1 - 1
controllers/user.js

@@ -85,7 +85,7 @@ const comparePass = async (password, hashedPass)=>{
 const createToken = (user)=>{
     return jwt.sign({
         id: user._id,
-        token: user.token
+        token: user.uuid
     }, process.env.JWT_SECRET);
 }
 

+ 20 - 0
views/js/pages/login.js

@@ -2,6 +2,10 @@ export default {
     rendered: false,
 
     render: function(){
+        document.getElementById("loginEmail").focus();
+
+        this.checkUser();
+
         if(!this.rendered){
             this.buttons();
             this.createSubmit();
@@ -41,5 +45,21 @@ export default {
                     notify("error", "Something went wrong, try refreshing the page");
                 });
         });
+    },
+
+    checkUser: function(){
+        fetch("/user", {
+            method: "GET",
+            headers: {
+                "Content-Type": "application/json"
+            }
+        })
+            .then(r=>r.json())
+            .then((response)=>{
+                if(!response.error){
+                    changePage("home", response);
+                }
+            })
+            .catch((err)=>{});
     }
 }