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

如何解决NextAuth登录后跨子域无法获取用户会话问题

NextAuth跨子域认证问题解决(v5 beta版)

问题场景

授权页面部署在auth.localhost:3000/login,用户登录后仅在该子域下能正常获取认证状态,切换到其他子域或主域时认证失效:

  • auth.localhost:3000 - ✅(已认证)
  • any.localhost:3000 - ❌(未认证)
  • localhost:3000 - ❌(未认证)

使用版本:

  • next-auth: 5.0.0-beta.16
  • next: 14.1.4

问题原因

默认情况下,NextAuth生成的认证Cookie绑定在当前子域(auth.localhost),其他子域无法读取该Cookie,导致无法识别用户认证状态。

解决方案

在NextAuth配置中自定义Cookie参数,将Cookie的domain设置为父域.localhost,让所有子域都能共享认证Cookie。同时根据环境配置Cookie的secure属性(开发环境设为false,生产环境需设为true)。

修改后的完整配置

import NextAuth from "next-auth";
import GitHub from "next-auth/providers/github";
import { PrismaAdapter } from "@auth/prisma-adapter";
import prisma from "./prisma";

export const {
  handlers: { GET, POST },
  auth,
  signIn,
  signOut,
} = NextAuth({
  providers: [GitHub],
  adapter: PrismaAdapter(prisma),
  session: { strategy: "jwt" },
  redirectProxyUrl: "http://auth.localhost:3000/api/auth",
  // 新增Cookie配置
  cookies: {
    sessionToken: {
      name: `${process.env.NODE_ENV === "production" ? "__Secure-" : ""}next-auth.session-token`,
      domain: ".localhost", // 父域,允许所有子域共享
      path: "/",
      secure: process.env.NODE_ENV === "production", // 生产环境启用HTTPS
      httpOnly: true,
      sameSite: "lax",
    },
    // 同步配置其他核心Cookie
    callbackUrl: {
      name: `${process.env.NODE_ENV === "production" ? "__Secure-" : ""}next-auth.callback-url`,
      domain: ".localhost",
      path: "/",
      secure: process.env.NODE_ENV === "production",
    },
    csrfToken: {
      name: `${process.env.NODE_ENV === "production" ? "__Host-" : ""}next-auth.csrf-token`,
      domain: ".localhost",
      path: "/",
      secure: process.env.NODE_ENV === "production",
      httpOnly: true,
    },
  },
});

注意事项

  1. 确保所有子域和主域使用相同的协议(开发环境HTTP,生产环境HTTPS),否则Cookie的secure属性会导致无法共享。
  2. 部分浏览器对.localhost的Cookie支持可能有差异,若开发环境仍有问题,可尝试清除浏览器缓存后重新测试。
  3. 生产环境中,需将domain替换为实际的父域名(如.yourdomain.com),并确保secure设为true。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 02:17:55