Next-Auth登录报错:route.ts默认导出不符合App Router规范
NextAuth路由导出错误解决方法
你遇到的编译错误是因为Next.js App Router的API路由规则和Pages Router不同,不能使用默认导出,必须为每个需要处理的HTTP方法导出命名函数。
修改你的/api/auth/[...nextauth]/route.ts代码如下:
import NextAuth from "next-auth" import Auth0Provider from "next-auth/providers/auth0" // 创建NextAuth实例 const auth = NextAuth({ providers: [ Auth0Provider({ clientId: process.env.AUTH0_ID, clientSecret: process.env.AUTH0_SECRET, }), ], }) // 导出对应HTTP方法的处理函数 export { auth as GET, auth as POST }
原因说明
NextAuth在App Router模式下,要求显式导出GET和POST方法:
- GET方法用于处理授权页面跳转、回调等请求
- POST方法用于处理登录提交、会话更新等请求
通过把auth实例分别导出为GET和POST,就能满足App Router的路由规则,解决报错问题。
内容的提问来源于stack exchange,提问作者Michel
相关产品推荐
相关产品推荐

