33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
// Server-side token functions (only for Server Components)
|
|
export async function getServerAccessToken() {
|
|
const { cookies } = await import("next/headers");
|
|
return (await cookies()).get("accessToken")?.value;
|
|
}
|
|
|
|
// Client-side token functions
|
|
export function getClientAccessToken(): string | undefined {
|
|
if (typeof window === "undefined") return undefined;
|
|
|
|
// eslint-disable-next-line no-console
|
|
console.log("🍪 Debug cookies:", document.cookie);
|
|
|
|
const cookies = document.cookie.split(";");
|
|
// eslint-disable-next-line no-console
|
|
console.log("🍪 All cookies:", cookies);
|
|
|
|
const accessTokenCookie = cookies.find(cookie =>
|
|
cookie.trim().startsWith("accessToken=")
|
|
);
|
|
|
|
// eslint-disable-next-line no-console
|
|
console.log("🍪 Found accessToken cookie:", accessTokenCookie);
|
|
|
|
if (!accessTokenCookie) return undefined;
|
|
|
|
// Use substring instead of split to handle tokens with = signs
|
|
const token = accessTokenCookie.trim().substring("accessToken=".length);
|
|
// eslint-disable-next-line no-console
|
|
console.log("🍪 Extracted token:", token.substring(0, 20) + "...");
|
|
return token;
|
|
}
|