diff --git a/src/lib/auth.ts b/src/lib/auth.ts index 032f2a6..36b5ada 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -121,5 +121,54 @@ export const authOptions: NextAuthOptions = { return session; } }, + useSecureCookies: process.env.NODE_ENV === "production", + cookies: { + sessionToken: { + name: process.env.NODE_ENV === "production" ? "__Secure-next-auth.session-token" : "next-auth.session-token", + options: { + httpOnly: true, + sameSite: 'lax', + path: '/', + secure: process.env.NODE_ENV === "production" + } + }, + callbackUrl: { + name: process.env.NODE_ENV === "production" ? "__Secure-next-auth.callback-url" : "next-auth.callback-url", + options: { + sameSite: 'lax', + path: '/', + secure: process.env.NODE_ENV === "production" + } + }, + csrfToken: { + name: process.env.NODE_ENV === "production" ? "__Host-next-auth.csrf-token" : "next-auth.csrf-token", + options: { + httpOnly: true, + sameSite: 'lax', + path: '/', + secure: process.env.NODE_ENV === "production" + } + }, + pkceCodeVerifier: { + name: process.env.NODE_ENV === "production" ? "__Secure-next-auth.pkce.code_verifier" : "next-auth.pkce.code_verifier", + options: { + httpOnly: true, + sameSite: 'lax', + path: '/', + secure: process.env.NODE_ENV === "production", + maxAge: 900 + } + }, + state: { + name: process.env.NODE_ENV === "production" ? "__Secure-next-auth.state" : "next-auth.state", + options: { + httpOnly: true, + sameSite: 'lax', + path: '/', + secure: process.env.NODE_ENV === "production", + maxAge: 900 + } + }, + }, secret: process.env.NEXTAUTH_SECRET }; \ No newline at end of file