You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next-auth登录回调未触发即重定向至/signin的问题及解决

问题解决补充说明

将Node版本从18升级到20后,所有问题消失。


原问题描述

认证重定向异常

  • 使用next-auth构建Next.js应用时,执行认证操作会从api/auth/signin重定向回同一页面。客户端向http://localhost:3000/api/auth/callback/credentials发送包含csrfToken的POST请求,却收到302响应,被重定向至http://localhost:3000/api/auth/signin?csrf=true,最终返回登录页HTML。
  • 测试过多种认证方式:T3应用默认的Discord认证、邮件魔法链接,以及从零搭建的credentials provider应用,起初均正常运行,之后突然全部出现相同的重定向问题。
  • 此前在session和jwt回调中添加了console.log,正常情况下会在终端输出内容,但出现重定向问题后,这些回调不再触发,终端无任何输出。

API接口错误

/api/route.ts接口本应返回authenticated: true/false的JSON数据,却抛出以下错误:

接口代码

import { getServerSession } from "next-auth";
import { authOptions } from "./auth/[...nextauth]/route";
import { NextResponse } from "next/server";

export async function GET(req: Request) {
    const session = await getServerSession(authOptions)
    return NextResponse.json({ authenticated: !!session })
}

错误日志

- error TypeError: Response.json is not a function
    at Function.json (webpack-internal:///(rsc)/./node_modules/next/dist/server/web/spec-extension/response.js:67:35)
    at GET (webpack-internal:///(rsc)/./app/api/route.ts:18:98)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async eval (webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-route/module.js:254:37)

注意:代码中明确返回的是NextResponse.json,但错误日志显示的是Response.json类型错误,怀疑该错误与认证重定向异常是否存在关联。


内容的提问来源于stack exchange,提问作者J6rms

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 03:55:54