make removeSession flexible to clear local, session, or both
This commit is contained in:
parent
638c033705
commit
0fec257354
@ -6,6 +6,7 @@ import { useForm } from "react-hook-form";
|
||||
import { zodResolver } from "@hookform/resolvers/zod";
|
||||
import { z } from "zod";
|
||||
import { AuthWrapper } from "./AuthWrapper";
|
||||
import { removeSession } from "../../utils/authUtils";
|
||||
|
||||
const LoginPage = () => {
|
||||
const navigate = useNavigate();
|
||||
@ -44,9 +45,11 @@ const LoginPage = () => {
|
||||
if (data.rememberMe) {
|
||||
localStorage.setItem("jwtToken", response.data.token);
|
||||
localStorage.setItem("refreshToken", response.data.refreshToken);
|
||||
removeSession("session")
|
||||
} else {
|
||||
sessionStorage.setItem("jwtToken", response.data.token);
|
||||
sessionStorage.setItem("refreshToken", response.data.refreshToken);
|
||||
removeSession("local")
|
||||
}
|
||||
setLoading(false);
|
||||
navigate("/auth/switch/org");
|
||||
|
@ -59,7 +59,7 @@ const attemptTokenRefresh = async (storedRefreshToken) => {
|
||||
|
||||
return true;
|
||||
} catch (error) {
|
||||
|
||||
removeSession()
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
@ -1,7 +1,14 @@
|
||||
export const removeSession = () => {
|
||||
localStorage.removeItem("jwtToken");
|
||||
localStorage.removeItem("refreshToken");
|
||||
sessionStorage.removeItem("jwtToken");
|
||||
sessionStorage.removeItem("refreshToken");
|
||||
localStorage.removeItem("ctnt");
|
||||
};
|
||||
export const removeSession = (target = "all") => {
|
||||
const keys = ["jwtToken", "refreshToken", "ctnt"];
|
||||
|
||||
if (target === "local") {
|
||||
keys.forEach((key) => localStorage.removeItem(key));
|
||||
} else if (target === "session") {
|
||||
keys.forEach((key) => sessionStorage.removeItem(key));
|
||||
} else if (target === "all") {
|
||||
keys.forEach((key) => {
|
||||
localStorage.removeItem(key);
|
||||
sessionStorage.removeItem(key);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user