export const authOptions: NextAuthOptions = {
callbacks: {
signIn: async (user) => {
const { name, image, id } = user.user;
if (!name || !image)
await prisma.user.update({
where: { id },
data: {
name: !name ? "User" : undefined,
image: !image
? "/assets/imgs/default-avatar.png"
: undefined,
},
});
return true;
},
session: ({ session, user }) => ({
...session,
user: {
...session.user,
id: user.id,
tag: user.tag,
lastTagReset: user.lastTagReset,
role: user.role,
},
}),
},
adapter: PrismaAdapter(prisma),
providers: [
...
EmailProvider({
server: env.EMAIL_SERVER,
from: env.EMAIL_FROM,
}),
...
],
cookies: {
pkceCodeVerifier: {
name: "next-auth.pkce.code_verifier",
options: {
httpOnly: true,
sameSite: "none",
path: "/",
secure: true,
},
},
},
};
export const authOptions: NextAuthOptions = {
callbacks: {
signIn: async (user) => {
const { name, image, id } = user.user;
if (!name || !image)
await prisma.user.update({
where: { id },
data: {
name: !name ? "User" : undefined,
image: !image
? "/assets/imgs/default-avatar.png"
: undefined,
},
});
return true;
},
session: ({ session, user }) => ({
...session,
user: {
...session.user,
id: user.id,
tag: user.tag,
lastTagReset: user.lastTagReset,
role: user.role,
},
}),
},
adapter: PrismaAdapter(prisma),
providers: [
...
EmailProvider({
server: env.EMAIL_SERVER,
from: env.EMAIL_FROM,
}),
...
],
cookies: {
pkceCodeVerifier: {
name: "next-auth.pkce.code_verifier",
options: {
httpOnly: true,
sameSite: "none",
path: "/",
secure: true,
},
},
},
};