mirror of
https://github.com/tomru/pfadi-bussle.git
synced 2026-03-03 06:27:11 +01:00
40 lines
1.0 KiB
TypeScript
40 lines
1.0 KiB
TypeScript
import { NextApiRequest, NextApiResponse } from 'next'
|
|
import NextAuth from "next-auth"
|
|
import EmailProvider from "next-auth/providers/email"
|
|
|
|
import { MongoDBAdapter } from "@next-auth/mongodb-adapter"
|
|
import { connect } from "../../../db"
|
|
import { Mongoose } from 'mongoose';
|
|
import type { MongoClient } from "mongodb";
|
|
|
|
let mongooseConnection: Mongoose;
|
|
|
|
async function getMongoClient() {
|
|
const mongoose: Mongoose = await connect();
|
|
|
|
const mongoDatabase: unknown = mongoose.connection.db;
|
|
return mongoDatabase as MongoClient;
|
|
}
|
|
|
|
export default async function auth(req: NextApiRequest, res: NextApiResponse) {
|
|
return await NextAuth(req, res, {
|
|
secret: process.env.NEXTAUTH_SECRET,
|
|
adapter: MongoDBAdapter(getMongoClient()),
|
|
providers: [
|
|
EmailProvider({
|
|
server: {
|
|
host: "smtp.sendgrid.net",
|
|
port: 587,
|
|
auth: {
|
|
user: "apikey",
|
|
pass: process.env.SENDGRID_API_KEY,
|
|
},
|
|
},
|
|
from: process.env.FROM_EMAIL
|
|
}),
|
|
],
|
|
})
|
|
}
|
|
|
|
|