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

Next.js14中Clerk中间件afterAuth始终检测未登录的问题求助

问题:Next.js 14 集成 Clerk 时中间件无法检测用户状态,导致循环重定向

在 Next.js 14 项目中配置 Clerk 时遇到异常:

  • 中间件的 afterAuth 方法里调用 auth.userId 返回 null,触发重定向到 /sign-in 路由;
  • 进入 /sign-in 后又自动重定向回根路由,形成循环;
  • 组件中能正常识别用户已登录状态,但中间件无法获取 userId、session 等用户信息。

中间件核心代码片段:

...
afterAuth(auth, req, _) {}
...

打印的 auth 对象内容如下:

{
  sessionClaims: null,
  sessionId: null,
  session: null,
  userId: null,
  user: null,
  actor: null,
  orgId: null,
  orgRole: null,
  orgSlug: null,
  orgPermissions: null,
  organization: null,
  getToken: [Function: getToken],
  has: [Function: has],
  debug: [Function],
  isPublicRoute: false,
  isApiRoute: false
}

项目相关信息:

  • 已遵循 Clerk 官方教程配置;
  • 使用 src 目录结构,中间件文件位于 /src/middleware.ts;
  • 同时集成了 tRPC。

请问有没有人遇到过相同的问题?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 19:32:35