diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/UserController.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/UserController.java
index 81533d14a9e1586c3a7d8c04535649df0f98d3a7..c01f490fcffaef30f2d0d97a036ca737e35a778e 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/UserController.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/UserController.java
@@ -9,15 +9,19 @@ import vt.CS5934.SwitchRoom.models.ResponseModel;
 import vt.CS5934.SwitchRoom.models.UserModel;
 import vt.CS5934.SwitchRoom.services.UserService;
 import vt.CS5934.SwitchRoom.hash.SHAModel;
-import lombok.Getter;
 
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
 import java.security.NoSuchAlgorithmException;
 
 /**
  * The "@RestController" made the class into rest handle class
  * The "@RequestMapping("example")" on the class level make it only react to url ".../example/..."
  */
-@CrossOrigin
+@CrossOrigin(
+        allowCredentials = "true",
+        origins = {"http://localhost:8080/"}
+)
 @RestController
 @RequestMapping("user")
 public class UserController {
@@ -58,7 +62,7 @@ public class UserController {
     }
 
     @PostMapping("/loginUser")
-    public ResponseModel loginUser(@RequestBody UserModel user) throws NoSuchAlgorithmException {
+    public ResponseModel loginUser(@RequestBody UserModel user, HttpServletResponse servletResponse) throws NoSuchAlgorithmException {
         logger.info("You reached the handlePost() functions.");
         ResponseModel response = new ResponseModel();
         SHAModel hash = new SHAModel();
@@ -69,16 +73,23 @@ public class UserController {
             if (existUser != null && existUser.getPassword().equals(inputPassword)) {
                 response.setMessage("Login in successfully");
                 response.setStatus(HttpStatus.OK);
-                var token = Token.of(existUser.getUserId(), 10L, "secret");
-                existUser.setToken(token.getToken());
+//                var token = Token.of(existUser.getUserId(), 10L, "secret");
+//                existUser.setToken(token.getToken());
             } else {
                 response.setMessage("Couldn't find an account matching the login info you entered");
                 response.setStatus(HttpStatus.FORBIDDEN);
             }
 
+//            Cookie theCookie = new Cookie("token", token.getToken());
+            Cookie theCookie = new Cookie("userId", Integer.toString(existUser.getUserId())); // use UserId for now
+            theCookie.setHttpOnly(false);
+            theCookie.setSecure(false);
+            theCookie.setPath("/");
+            theCookie.setMaxAge(60);
+            servletResponse.addCookie(theCookie);
+
             existUser.setPassword(null);
             response.setData(existUser);
-            response.setData(existUser);
 
             return response;
         }catch (Exception e){
@@ -88,10 +99,17 @@ public class UserController {
                     null);
         }
     }
-    @PostMapping("/checkLoginSession")
-    public ResponseModel checkLoginSession(@RequestBody Object json) {
+    @GetMapping("/checkLoginSession")
+    public ResponseModel checkLoginSession(@CookieValue(value = "userId", required = false) String token) {
         ResponseModel response = new ResponseModel();
-        response.setStatus(HttpStatus.OK);
+
+        if (token == null) {
+            System.out.println("checkLoginSession: FORBIDDEN");
+            response.setStatus(HttpStatus.FORBIDDEN);
+        } else {
+            System.out.println("checkLoginSession: OK");
+            response.setStatus(HttpStatus.OK);
+        }
 
         return response;
     }
diff --git a/FrontendFolder/switch-room/src/components/AppHeader.vue b/FrontendFolder/switch-room/src/components/AppHeader.vue
index 615723eb70da5e096ef449b186b886188acde2de..442c1208867ed956e076355b4869d666f0913a73 100644
--- a/FrontendFolder/switch-room/src/components/AppHeader.vue
+++ b/FrontendFolder/switch-room/src/components/AppHeader.vue
@@ -30,8 +30,8 @@ export default defineComponent({
       logOut: "logOutApi",
     }),
     hanldeLogOut() {
-      localStorage.setItem("token", "");
       this.logOut()
+      document.cookie = 'userId=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
       this.$router.push("/");
     }
   }
diff --git a/FrontendFolder/switch-room/src/components/MainPage.vue b/FrontendFolder/switch-room/src/components/MainPage.vue
index e946219d74d21c33bbf4fdf56545a51553c6c0af..2d69366a732961d499c9203881a7cbac9033bee8 100644
--- a/FrontendFolder/switch-room/src/components/MainPage.vue
+++ b/FrontendFolder/switch-room/src/components/MainPage.vue
@@ -85,15 +85,14 @@ export default defineComponent({
       actionLoginApi: "loginApi",
     }),
     async handleCreated() {
-      let token = localStorage.getItem('token');
-      if (token) {
-        await checkLoginSession(JSON.stringify(token))
-        .then((result) => {
-          if (result.status == "OK") {
-            this.$router.push("/login-main-page");
-          }
-        })
-      }
+      await checkLoginSession()
+      .then((result) => {
+        if (result.status == "OK") {
+          this.$router.push({name: 'LoginMainPage'});
+        } else {
+          this.$router.push({name: 'home'})
+        }
+      })
     },
     async handleLogin() {
       const payload = {
@@ -102,7 +101,7 @@ export default defineComponent({
       };
       await this.actionLoginApi(payload);
       if (this.getLoginStatus){
-        this.$router.push("/login-main-page");
+        this.$router.push({name: 'LoginMainPage'});
       }
     },
   },
diff --git a/FrontendFolder/switch-room/src/router/index.ts b/FrontendFolder/switch-room/src/router/index.ts
index 877fcbd8c12b1ed51f77a8dfecb1c3a7e02ccc93..b357ec61f93b63b9f0f6ba04bf6bb5fca2258c99 100644
--- a/FrontendFolder/switch-room/src/router/index.ts
+++ b/FrontendFolder/switch-room/src/router/index.ts
@@ -1,7 +1,6 @@
 import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router";
 import HomeView from "../views/HomeView.vue";
 import RegisterView from "../views/RegisterView.vue";
-import store from "../store/index"
 
 const routes: Array<RouteRecordRaw> = [
   {
@@ -50,7 +49,7 @@ const router = createRouter({
 
 router.beforeEach((to, from, next) => {
   if (to.matched.some(record => record.meta.requiresAuth)) {
-    if (!store.getters["auth/getLoginStatus"]) {
+    if (!document.cookie) {
       next({ name: 'home' })
     } else {
       next()
diff --git a/FrontendFolder/switch-room/src/services/ServerHttpService.ts b/FrontendFolder/switch-room/src/services/ServerHttpService.ts
index ea93675e01d8d8767e377c938f54c0e8396075dc..14c4c3f247daf8efcbf8b4d295f94a967e75f428 100644
--- a/FrontendFolder/switch-room/src/services/ServerHttpService.ts
+++ b/FrontendFolder/switch-room/src/services/ServerHttpService.ts
@@ -11,6 +11,7 @@ function Get(path: string) {
 
   return fetch(url, {
     method: "GET",
+    credentials: "include",
   })
     .then((response) => {
       if (response.ok) {
@@ -31,6 +32,7 @@ function Post(path: string, bodyData: any) {
   console.log("With Data: ", JSON.stringify(bodyData));
   return fetch(url, {
     method: "POST",
+    credentials: "include",
     headers: {
       "Content-Type": "application/json",
     },
diff --git a/FrontendFolder/switch-room/src/services/UserService.ts b/FrontendFolder/switch-room/src/services/UserService.ts
index 9df72caa1662853083eaa9352bb6dc54bfde73db..b6553b67836650defc77abf2c723f8be21eba92b 100644
--- a/FrontendFolder/switch-room/src/services/UserService.ts
+++ b/FrontendFolder/switch-room/src/services/UserService.ts
@@ -11,9 +11,9 @@ function loginUser(userData: any) {
   // console.log(Server_URL + baseUrl + urlPath);
   return serverHttpService.Post(baseUrl + urlPath, JSON.parse(userData));
 }
-function checkLoginSession(token: any) {
+function checkLoginSession() {
   const urlPath = "/checkLoginSession";
-  return serverHttpService.Post(baseUrl + urlPath, JSON.parse(token));
+  return serverHttpService.Get(baseUrl + urlPath);
 }
 
 export { postUserDataToServer, loginUser, checkLoginSession };
diff --git a/FrontendFolder/switch-room/src/store/modules/auth.ts b/FrontendFolder/switch-room/src/store/modules/auth.ts
index a2235b596d9c3abc1a089edbac70bdbdd659690a..85bc4c1ae52381bd0bec95b8fbaafcffd0eea780 100644
--- a/FrontendFolder/switch-room/src/store/modules/auth.ts
+++ b/FrontendFolder/switch-room/src/store/modules/auth.ts
@@ -16,8 +16,6 @@ const actions = {
         .catch((error) => alert(error));
       if (response.status == "OK") {
         commit("setLoginStatus", true);
-        console.log("login token: " + response.data.token)
-        localStorage.setItem('token', response.data.token)
       } else {
         alert(response.message)
       }