From f17ed647c71ef4c2a87c6d6deb608f84d567d16b Mon Sep 17 00:00:00 2001 From: AdonisGM Date: Fri, 10 May 2024 17:34:24 +0700 Subject: [PATCH] Update cookie process, add logout --- src/apis/GatewayApi.js | 11 +---------- src/components/auth/Auth.jsx | 8 +++----- src/components/auth/NonAuth.jsx | 5 ++--- src/components/login/Login.jsx | 2 -- .../menuLayout/menuItems/setting/Setting.jsx | 11 +++++++++-- 5 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/apis/GatewayApi.js b/src/apis/GatewayApi.js index 541ab8f..177c9ac 100644 --- a/src/apis/GatewayApi.js +++ b/src/apis/GatewayApi.js @@ -1,5 +1,4 @@ import Cookie from "js-cookie"; -import Cookies from "js-cookie"; const ENDPOINT = import.meta.env.VITE_API_URL; @@ -49,13 +48,6 @@ const GatewayApi = async (cmd, dataObj) => { }; const refreshToken = async () => { - if (!Cookie.get('refresh_token')) { - Cookies.remove('access_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); - Cookies.remove('refresh_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); - window.location.href = '/'; - return null; - } - const optionsRefresh = { headers: { 'Content-Type': 'application/json', @@ -73,8 +65,7 @@ const refreshToken = async () => { ); if (!responseRefresh.ok) { - Cookies.remove('access_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); - Cookies.remove('refresh_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); + Cookie.remove('info', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); window.location.href = '/'; return null; } diff --git a/src/components/auth/Auth.jsx b/src/components/auth/Auth.jsx index 9378a21..0a6d5f9 100644 --- a/src/components/auth/Auth.jsx +++ b/src/components/auth/Auth.jsx @@ -8,12 +8,10 @@ const Auth = ({children}) => { useEffect(() => { // check token in cookies - const token = Cookie.get('access_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); - const refreshToken = Cookie.get('refresh_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); + const info = Cookie.get('info', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); - if (token === undefined || refreshToken === undefined) { - Cookie.remove('access_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); - Cookie.remove('refresh_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); + if (info === undefined) { + Cookie.remove('info', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); navigate('/login'); } diff --git a/src/components/auth/NonAuth.jsx b/src/components/auth/NonAuth.jsx index c973c6a..93a2553 100644 --- a/src/components/auth/NonAuth.jsx +++ b/src/components/auth/NonAuth.jsx @@ -8,10 +8,9 @@ const NonAuth = ({children}) => { useEffect(() => { // check token in cookies - const token = Cookie.get('access_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); - const refreshToken = Cookie.get('refresh_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); + const info = Cookie.get('info', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); - if (token !== undefined && refreshToken !== undefined) { + if (info !== undefined) { navigate('/'); } diff --git a/src/components/login/Login.jsx b/src/components/login/Login.jsx index 9238efe..536ff9c 100644 --- a/src/components/login/Login.jsx +++ b/src/components/login/Login.jsx @@ -35,8 +35,6 @@ const Login = () => { }, [animate, isShowPasswordInput, scope]); const handleLogin = (data) => { - console.log(data) - if (!isShowPasswordInput) { setIsShowPasswordInput(true); return; diff --git a/src/components/menuLayout/menuItems/setting/Setting.jsx b/src/components/menuLayout/menuItems/setting/Setting.jsx index 566ec8a..08051b1 100644 --- a/src/components/menuLayout/menuItems/setting/Setting.jsx +++ b/src/components/menuLayout/menuItems/setting/Setting.jsx @@ -2,13 +2,20 @@ import {Fragment} from "react"; import {Button} from "@nextui-org/react"; import Cookies from "js-cookie"; import {useNavigate} from "react-router-dom"; +import GatewayApi from "../../../../apis/GatewayApi.js"; const Setting = () => { const navigate = useNavigate(); const handleLogout = () => { - Cookies.remove('access_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); - Cookies.remove('refresh_token', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); + Cookies.remove('info', {path: '/', domain: import.meta.env.VITE_DOMAIN_COOKIE}); + + GatewayApi('pkg_user.delete_refresh_token', {}) + .then() + .catch(err => { + console.log(err); + }) + navigate('/login'); }