32 lines
752 B
TypeScript
32 lines
752 B
TypeScript
import { cookies } from "next/headers";
|
|
import { decode } from "next-auth/jwt";
|
|
|
|
export async function getProductPlanningPageToken() {
|
|
const cookieStore = await cookies();
|
|
const secureCookieName = "__Secure-authjs.session-token";
|
|
const regularCookieName = "authjs.session-token";
|
|
|
|
const rawToken =
|
|
cookieStore.get(secureCookieName)?.value ||
|
|
cookieStore.get(regularCookieName)?.value ||
|
|
null;
|
|
|
|
if (!rawToken || !process.env.AUTH_SECRET) {
|
|
return null;
|
|
}
|
|
|
|
const salt = rawToken === cookieStore.get(secureCookieName)?.value
|
|
? secureCookieName
|
|
: regularCookieName;
|
|
|
|
try {
|
|
return await decode({
|
|
token: rawToken,
|
|
secret: process.env.AUTH_SECRET,
|
|
salt,
|
|
});
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|