make removeSession flexible to clear local, session, or both

This commit is contained in:
pramod.mahajan 2025-10-05 00:21:19 +05:30
parent 638c033705
commit 0fec257354
3 changed files with 18 additions and 8 deletions

View File

@ -6,6 +6,7 @@ import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod"; import { zodResolver } from "@hookform/resolvers/zod";
import { z } from "zod"; import { z } from "zod";
import { AuthWrapper } from "./AuthWrapper"; import { AuthWrapper } from "./AuthWrapper";
import { removeSession } from "../../utils/authUtils";
const LoginPage = () => { const LoginPage = () => {
const navigate = useNavigate(); const navigate = useNavigate();
@ -44,9 +45,11 @@ const LoginPage = () => {
if (data.rememberMe) { if (data.rememberMe) {
localStorage.setItem("jwtToken", response.data.token); localStorage.setItem("jwtToken", response.data.token);
localStorage.setItem("refreshToken", response.data.refreshToken); localStorage.setItem("refreshToken", response.data.refreshToken);
removeSession("session")
} else { } else {
sessionStorage.setItem("jwtToken", response.data.token); sessionStorage.setItem("jwtToken", response.data.token);
sessionStorage.setItem("refreshToken", response.data.refreshToken); sessionStorage.setItem("refreshToken", response.data.refreshToken);
removeSession("local")
} }
setLoading(false); setLoading(false);
navigate("/auth/switch/org"); navigate("/auth/switch/org");

View File

@ -59,7 +59,7 @@ const attemptTokenRefresh = async (storedRefreshToken) => {
return true; return true;
} catch (error) { } catch (error) {
removeSession()
return false; return false;
} }
}; };

View File

@ -1,7 +1,14 @@
export const removeSession = () => { export const removeSession = (target = "all") => {
localStorage.removeItem("jwtToken"); const keys = ["jwtToken", "refreshToken", "ctnt"];
localStorage.removeItem("refreshToken");
sessionStorage.removeItem("jwtToken"); if (target === "local") {
sessionStorage.removeItem("refreshToken"); keys.forEach((key) => localStorage.removeItem(key));
localStorage.removeItem("ctnt"); } else if (target === "session") {
}; keys.forEach((key) => sessionStorage.removeItem(key));
} else if (target === "all") {
keys.forEach((key) => {
localStorage.removeItem(key);
sessionStorage.removeItem(key);
});
}
};