How to do database queries after oauth signup in next-auth?
Unanswered
Common paper wasp posted this in #help-forum
Common paper waspOP
I want to run function or database queries after user signs up with github oauth?
import NextAuth from "next-auth/next";
import CredentialsProvider from "next-auth/providers/credentials";
import GitHubProvider from "next-auth/providers/github";
import { PrismaAdapter } from "@auth/prisma-adapter";
import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient();
export const handler = NextAuth({
adapter: PrismaAdapter(prisma),
pages: {
signIn: "/auth/login",
},
session: {
strategy: "jwt",
},
providers: [
GitHubProvider({
clientId: process.env.GITHUB_CLIENT_ID ?? "",
clientSecret: process.env.GITHUB_CLIENT_SECRET ?? "",
allowDangerousEmailAccountLinking: true,
}),
CredentialsProvider({
// The name to display on the sign in form (e.g. 'Sign in with...')
name: "Credentials",
// The credentials is used to generate a suitable form on the sign in page.
// You can specify whatever fields you are expecting to be submitted.
// e.g. domain, username, password, 2FA token, etc.
// You can pass any HTML attribute to the <input> tag through the object.
credentials: {
name: {},
email: {},
password: {},
},
async authorize(credentials, req) {
const res = await fetch(
`${process.env.NEXT_PUBLIC_WEBSITE_URL}/api/auth/login`,
{
method: "POST",
body: JSON.stringify(credentials),
headers: { "Content-Type": "application/json" },
}
);
const user = await res.json();
// If no error and we have user data, return it
if (res.ok && user) {
console.log(user);
return user;
}
// Return null if user data could not be retrieved
return null;
},
}),
],
});
export { handler as GET, handler as POST };