import NextAuth, { NextAuthOptions } from "next-auth"; import GoogleProvider from "next-auth/providers/google"; import { JWT } from "next-auth/jwt"; import { Session } from "next-auth"; export const authOptions: NextAuthOptions = { providers: [ GoogleProvider({ clientId: process.env.GOOGLE_CLIENT_ID!, clientSecret: process.env.GOOGLE_CLIENT_SECRET!, authorization: { params: { scope: "openid profile email https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/spreadsheets.readonly", }, }, }), ], secret: process.env.NEXTAUTH_SECRET, callbacks: { async session({ session, token }: { session: Session; token: JWT }) { session.accessToken = token.accessToken as string; return session; }, async jwt({ token, account }: { token: JWT; account: any }) { if (account) { token.accessToken = account.access_token; } return token; }, }, }; const handler = NextAuth(authOptions); export { handler as GET, handler as POST };