forked from Transparency/kgroad-frontend2
renamed folders
This commit is contained in:
1 parent
d6c6504d1f
commit
e0e2f5470d
204 files changed
No files matched your search
@@ -0,0 +1,35 @@
|
||||
"use client";
|
||||
|
||||
import { apiInstance } from "@/shared/config/apiConfig";
|
||||
import { AxiosError } from "axios";
|
||||
import { signOut, useSession } from "next-auth/react";
|
||||
import { useEffect } from "react";
|
||||
|
||||
const AuthGuard = ({ children }: { children: React.ReactNode }) => {
|
||||
const session = useSession();
|
||||
const verifyToken = async () => {
|
||||
try {
|
||||
const data = {
|
||||
token: session.data?.access_token,
|
||||
};
|
||||
await apiInstance.post("/token/verify/", data);
|
||||
} catch (error: unknown) {
|
||||
if (error instanceof AxiosError) {
|
||||
if (error.response?.data.code === "token_not_valid") {
|
||||
signOut({
|
||||
callbackUrl: "/",
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (session.status === "loading") return;
|
||||
|
||||
verifyToken();
|
||||
}, [session.status]);
|
||||
return <>{children}</>;
|
||||
};
|
||||
|
||||
export default AuthGuard;
|
||||
Reference in new issue
Block a user