w-lab-app/src/shared/auth/token.ts
2025-09-12 22:59:09 +02:00

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;
}