Next-Auth Credentials Provider出现INVALID_CALLBACK_URL_ERROR问题求助
回调URL返回格式错误
检查你的Next-Auth配置文件(通常是auth.js或next-auth.config.js)里的callbacks.redirect函数,确认返回值是字符串而非对象。比如误写return { url: '/dashboard' }会被识别为[object Object],正确写法应该是return '/dashboard'。同时核对NEXTAUTH_URL环境变量,本地开发需设为http://localhost:3000,生产环境匹配实际域名,该变量会影响默认回调地址生成逻辑。SignIn方法参数错误
若自定义了登录页面,检查调用signIn方法时的callbackUrl参数格式。比如错误传入signIn('credentials', { callbackUrl: { path: '/' } }),需改为字符串形式signIn('credentials', { callbackUrl: '/' })。同时排查默认登录页的请求参数,确认前端跳转时没有将对象格式的值传入/api/auth/signin的callbackUrl参数中。版本兼容性问题
不同版本的Next-Auth对回调URL的处理逻辑存在差异,你更换代码后恢复正常,大概率是新旧版本的配置写法不兼容,或是新版本引入了相关bug。对比正常工作的代码与出问题代码的Next-Auth版本,以及配置项的区别,就能定位版本适配问题。路由/中间件干扰
检查项目中的middleware.js或自定义路由拦截逻辑,确认没有在处理认证请求时修改callbackUrl参数并将其转为对象格式。比如中间件中错误地将回调URL解析为对象后,未转回字符串就传递给后续流程,会导致该错误出现。
内容的提问来源于stack exchange,提问作者alfong

