From cfd9ed4eaef2af8ab4ffbbaecedf1c857e32cd89 Mon Sep 17 00:00:00 2001 From: Sam Geyskens Date: Fri, 15 May 2026 09:39:08 +0200 Subject: [PATCH] Fix: JWT session strategy + image optimalisatie uit voor ARM --- next.config.mjs | 3 +++ src/lib/auth.ts | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/next.config.mjs b/next.config.mjs index 4a2021b..5b20cfd 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -2,6 +2,9 @@ const nextConfig = { output: "standalone", images: { + // Sharp is moeilijk te installeren op ARM Alpine, + // voor Discord avatars is optimalisatie niet nodig + unoptimized: true, remotePatterns: [ { protocol: "https", diff --git a/src/lib/auth.ts b/src/lib/auth.ts index edb82ed..68ccf32 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -5,6 +5,11 @@ import { prisma } from "./prisma"; export const authOptions: NextAuthOptions = { adapter: PrismaAdapter(prisma), + // JWT strategy zodat de middleware de sessie kan verifieren + // zonder een database call te doen bij elk request + session: { + strategy: "jwt", + }, providers: [ DiscordProvider({ clientId: process.env.DISCORD_CLIENT_ID!, @@ -12,9 +17,16 @@ export const authOptions: NextAuthOptions = { }), ], callbacks: { - session({ session, user }) { + jwt({ token, user }) { + // user is alleen aanwezig bij eerste login + if (user) { + token.id = user.id; + } + return token; + }, + session({ session, token }) { if (session.user) { - session.user.id = user.id; + session.user.id = token.id as string; } return session; }, @@ -22,4 +34,4 @@ export const authOptions: NextAuthOptions = { pages: { signIn: "/login", }, -}; +}; \ No newline at end of file