Error 405 with Next-Auth
Unanswered
Griffon Bleu de Gascogne posted this in #help-forum
Griffon Bleu de GascogneOP
Hello, i have an error with my prisma adapter
"@auth/prisma-adapter": "^2.4.2",
"@prisma/client": "5.18.0",
"next-auth": "^4.24.7",
"@auth/prisma-adapter": "^2.4.2",
"@prisma/client": "5.18.0",
"next-auth": "^4.24.7",
Type 'import("/Users/fullgreen/IdeaProjects/Polaris/polariswebsite/node_modules/@auth/core/adapters").Adapter' is not assignable to type 'import("/Users/fullgreen/IdeaProjects/Polaris/polariswebsite/node_modules/next-auth/adapters").Adapter'.
Types of property 'createUser' are incompatible.
Type '((user: AdapterUser) => Awaitable<AdapterUser>) | undefined' is not assignable to type '((user: Omit<AdapterUser, "id">) => Awaitable<AdapterUser>) | undefined'.
Type '(user: AdapterUser) => Awaitable<AdapterUser>' is not assignable to type '(user: Omit<AdapterUser, "id">) => Awaitable<AdapterUser>'.
Types of parameters 'user' and 'user' are incompatible.
Property 'id' is missing in type 'Omit<AdapterUser, "id">' but required in type 'AdapterUser'.ts(2322)3 Replies
Griffon Bleu de GascogneOP
import { stripe } from "../stripe";
import { PrismaAdapter } from "@auth/prisma-adapter";
import NextAuth from "next-auth";
import { prisma } from "../prisma";
import CredentialsProvider from "next-auth/providers/credentials"
export const { handler, auth: baseAuth } = NextAuth({
adapter: PrismaAdapter(prisma),
providers: [
CredentialsProvider({
// The name to display on the sign in form (e.g. "Sign in with...")
name: "Credentials",
// `credentials` is used to generate a form on the sign in page.
// You can specify which fields should be submitted, by adding keys to the `credentials` object.
// e.g. domain, username, password, 2FA token, etc.
// You can pass any HTML attribute to the <input> tag through the object.
credentials: {
username: { label: "Username", type: "text", placeholder: "jsmith" },
password: { label: "Password", type: "password" }
},
async authorize(credentials, req) {
// Add logic here to look up the user from the credentials supplied
const user = { id: "1", name: "J Smith", email: "jsmith@example.com" }
if (user) {
// Any object returned will be saved in `user` property of the JWT
return user
} else {
// If you return null then an error will be displayed advising the user to check their details.
return null
// You can also Reject this callback with an Error thus the user will be sent to the error page with the error message as a query parameter
}
}
})
],declare global {
var prisma: PrismaClient; // This must be a `var` and not a `let / const`
}
import { PrismaClient } from "@prisma/client";
const prismaClientSingleton = () => {
return new PrismaClient();
};
declare global {
var prismaGlobal: undefined | ReturnType<typeof prismaClientSingleton>;
}
export const prisma = globalThis.prismaGlobal ?? prismaClientSingleton();
if (process.env.NODE_ENV !== "production") globalThis.prismaGlobal = prisma;