I am trying to use nextauth for authentication. I'm trying to import EmailProvider from nextauth/providers. when I use it in Nextauth providers object it does not refer to EmailProvider i've imported?
code:
import NextAuth from "next-auth/next";
import { EmailProvider } from "next-auth/providers";
import nodemailer from "nodemailer"
import { PrismaAdapter } from "@next-auth/prisma-adapter"
import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient()
export default NextAuth({
providers: [
EmailProvider({
server: {
host: process.env.NEXT_PUBLIC_EMAIL_SERVER_HOST,
port: process.env.NEXT_PUBLIC_EMAIL_SERVER_PORT,
auth: {
user: process.env.NEXT_PUBLIC_EMAIL_SERVER_USER,
pass: process.env.NEXT_PUBLIC_EMAIL_SERVER_PASSWORD,
},
},
from: process.env.NEXT_PUBLIC_EMAIL_FROM,
maxAge: 10 * 60,
})
],
adapter: PrismaAdapter(prisma)
})
error:
Module not found: Package path ./providers is not exported from package D:\nextautht\supa-vacation-start\supa-vacation-start\node_modules\next-auth (see exports field in D:\nextautht\supa-vacation-start\supa-vacation-start\node_modules\next-auth\package.json)
1 | import NextAuth from "next-auth/next";
> 2 | import { EmailProvider } from "next-auth/providers";
3 | import nodemailer from "nodemailer"
4 | import { PrismaAdapter } from "@next-auth/prisma-adapter"
5 | import { PrismaClient } from "@prisma/client";
EmailProvider is not being imported from next-auth/providers
it works if we import it from next-auth/providers/email instead.
I think this is because export in the nodemodules/nextauth/package.json exports providers in form of /providers/*.