import NextAuth from "next-auth"; import { PrismaAdapter } from "@auth/prisma-adapter"; import Resend from "next-auth/providers/resend"; import { db } from "@/lib/db"; export const { handlers, auth, signIn, signOut } = NextAuth({ trustHost: true, adapter: PrismaAdapter(db), providers: [ Resend({ from: "OwlCub Academy ", sendVerificationRequest: async ({ identifier: email, url, provider }) => { const { Resend: ResendClient } = await import("resend"); const resend = new ResendClient(process.env.RESEND_API_KEY!); await resend.emails.send({ from: provider.from as string, to: email, subject: "Connexion à OwlCub Academy", html: `

OwlCub Academy

Cliquez sur le lien ci-dessous pour vous connecter :

Se connecter

Ce lien expire dans 24 heures. Si vous n'avez pas demandé ce lien, ignorez cet email.

`, }); }, }), ], session: { strategy: "database" }, pages: { signIn: "/auth/login", verifyRequest: "/auth/verify", newUser: "/dashboard", }, callbacks: { session({ session, user }) { if (session.user) { (session.user as any).id = user.id; (session.user as any).role = (user as any).role; (session.user as any).locale = (user as any).locale; } return session; }, }, });