supermemory/apps/web/app/helpers/server/auth.ts

29 lines
676 B
TypeScript

import NextAuth, { NextAuthResult } from "next-auth";
import Google from "next-auth/providers/google";
import { DrizzleAdapter } from "@auth/drizzle-adapter";
import { db } from "./db";
export const {
handlers: { GET, POST },
signIn,
signOut,
auth,
} = NextAuth({
secret: process.env.NEXTAUTH_SECRET ?? process.env.AUTH_SECRET,
callbacks: {
session: ({ session, token, user }) => ({
...session,
user: {
...session.user,
id: user.id,
},
}),
},
adapter: DrizzleAdapter(db),
providers: [
Google({
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
}),
],
});