API handler warning
Unanswered
Brown bear posted this in #help-forum
Brown bearOP
API handler should not return a value, received object.
anyone know how to fix this, console thing?
anyone know how to fix this, console thing?
17 Replies
Alfonsus Ardani
return NextResponse object, not values/object
Brown bearOP
this is my current authoptions im returning a user
CredentialsProvider({
name: "Credentials",
credentials: {
email: {
label: "Email",
type: "text",
placeholder: "jsmith@example.com",
},
password: { label: "Password", type: "password" },
},
async authorize(credentials) {
if (!credentials) return null;
signInWithEmailAndPassword(auth, credentials.email, credentials.password)
.then(userCredential => userCredential.user)
.catch(error => {
console.log(error);
null;
});
return null;
}
}),
Alfonsus Ardani
thats not api handler
Brown bearOP
I dont have a api handler
do i need to define one?
Alfonsus Ardani
when you setup nextauth you need to create api handler...
so you must have one
either under /pages/api or /app dir
Brown bearOP
The sessionprovider?
Alfonsus Ardani
or in
/app/auth/[...nextauth]/route.ts
fileBrown bearOP
in my ...nextauth.js I just have my authoptions with the provider
i dont have the latter file
is it somewhere in the docs?
Alfonsus Ardani
no you only need one of them
so ure using the one in
pages
dirBrown bearOP
yup this is my full file
export const authOptions = {
// Configure one or more authentication providers
providers: [
GoogleProvider({
clientId: config.google.clientId,
clientSecret: config.google.clientSecret,
}),
CredentialsProvider({
name: "Credentials",
credentials: {
email: {
label: "Email",
type: "text",
placeholder: "jsmith@example.com",
},
password: { label: "Password", type: "password" },
},
async authorize(credentials) {
if (!credentials) return null;
signInWithEmailAndPassword(auth, credentials.email, credentials.password)
.then(userCredential => userCredential.user)
.catch(error => {
console.log(error);
null;
});
return null;
}
}),
],
};
export default NextAuth(authOptions);