import type { DefaultSession } from "next-auth"; // Auth.js kennt von Haus aus keine `id` auf der Sitzung — und `user.id` aus // dem Adapter gibt es nur mit Datenbank-Adapter, den diese Anwendung nicht // benutzt. Hier steht deshalb die eine Ergänzung, die alles andere trägt: // die app_users-Kennung, die in withUser() geht und über die jede RLS-Policy // entscheidet. declare module "next-auth" { interface Session { user: { id: string } & DefaultSession["user"]; } } // Ergänzt wird `@auth/core/jwt` und nicht `next-auth/jwt`: letzteres reicht // die Deklaration nur mit `export *` durch, und eine Ergänzung dort legt eine // zweite, unverbundene Schnittstelle an, statt die vorhandene zu erweitern. // Der Typprüfer meldet das als „Type '{}' is not assignable to type // 'string'" — eine Fehlermeldung, die nicht danach aussieht. declare module "@auth/core/jwt" { interface JWT { /** app_users.id — nicht die `oid` von Entra. */ uid?: string; } }