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

Docker+Next.js集成Auth.js(v5)时遇无效重定向问题求助

在Docker生产环境部署Auth.js v5 Beta版后登录重定向异常问题

环境与问题概述

  • 使用T3栈(tRPC、Auth.js、Prisma、Next.js)
  • 升级至带Prisma Adapter的Auth.js v5 Beta版后,使用任意提供商登录时,登录成功后会重定向到Docker内部主机0.0.0.0
  • 升级前应用及认证流程完全正常

已做配置与尝试

  1. 环境变量设置:尝试过NEXTAUTH_URL和AUTH_URL的多种组合,当前使用AUTH_URL="https://my-production-url.com/api/auth"时,OAuth提供商页面的重定向URL显示正确,但登录成功后的重定向依然错误
  2. Dockerfile配置(遵循Next.js官方文档):
EXPOSE 3000
ENV PORT 3000
ENV HOSTNAME "0.0.0.0"
  1. Auth.js核心配置:
export const {
  handlers: { GET, POST },
  auth,
} = NextAuth({
  pages: {
    signIn: "/auth/login",
    error: "/auth/error",
    signOut: "/auth/logout",
    verifyRequest: "/auth/verify-request",
  },
  callbacks: {
    signIn({ user, email }) {
      // 邮箱提供商仅允许特定域名用户登录
      if (email?.verificationRequest) {
        return !isFakeEmail(user.email!, false);
      }

      return true;
    },
    session: ({ session, user }) => ({
      ...session,
      user: {
        ...session.user,
        id: user.id,
        role: user.role,
        subscribedTill: user.subscribedTill,
      },
    }),
  },
  adapter: PrismaAdapter(db),
  providers: [
    EmailProvider({
      server: env.EMAIL_SERVER,
      from: env.EMAIL_FROM,
      maxAge: 5 * 60, // 验证链接有效期5分钟
    }),
    DiscordProvider({ allowDangerousEmailAccountLinking: true }),
    GitHubProvider({ allowDangerousEmailAccountLinking: true }),
  ],
  trustHost: true, // 已设置trustHost为true
});
  1. 依赖版本:
"@next-auth/prisma-adapter": "^1.0.7",
"next-auth": "^5.0.0-beta.15",
"next": "14.1.0",

疑问

是否遗漏了某个关键环境变量?此前在Auth.js的GitHub仓库中找到过相关讨论,但未发现有效解决方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 08:46:20