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 { 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");
|
||||||
|
@ -59,7 +59,7 @@ const attemptTokenRefresh = async (storedRefreshToken) => {
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
removeSession()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -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);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user