(
=> {
maxAge: 60 * 60 * 24 * 365,
});
};
+
+export const getAuthTokenFromCookie = async (): Promise => {
+ const cookieStore = await cookies();
+ return cookieStore.get("accessToken")?.value;
+};
diff --git a/src/hooks/auth/useClientToken.ts b/src/hooks/auth/useClientToken.ts
new file mode 100644
index 0000000..19533c0
--- /dev/null
+++ b/src/hooks/auth/useClientToken.ts
@@ -0,0 +1,17 @@
+"use client";
+
+import { getAuthTokenFromCookie } from "@/entities/user/serverActions";
+import { useEffect, useMemo, useState } from "react";
+
+export const useClientToken = () => {
+ const [token, setToken] = useState(undefined);
+
+ useEffect(() => {
+ (async () => {
+ const token = await getAuthTokenFromCookie();
+ setToken(token);
+ })();
+ }, []);
+
+ return useMemo(() => token, [token]);
+};
diff --git a/src/shared/api/httpClient.ts b/src/shared/api/httpClient.ts
index d0f3482..c8d0859 100644
--- a/src/shared/api/httpClient.ts
+++ b/src/shared/api/httpClient.ts
@@ -100,8 +100,10 @@ class HttpClient {
accessToken = await getServerAccessToken();
} else {
try {
- const { getClientAccessToken } = await import("../auth/token");
- accessToken = getClientAccessToken();
+ const { getAuthTokenFromCookie } = await import(
+ "@/entities/user/serverActions"
+ );
+ accessToken = await getAuthTokenFromCookie();
} catch {
// ignore
}