Next-Auth v5(Auth.js迁移版)signIn的callbackUrl不生效问题
排查Auth.js 5.0.0-beta.19 callbackUrl跳转异常所需的额外代码
要定位这个callbackUrl不生效的问题,需要提供以下几部分代码/配置信息:
Auth.js核心配置文件(通常为
auth.ts或app/auth.ts)
重点看以下内容:- 自定义OIDC提供商的完整配置项
redirect回调函数的具体实现- 全局配置中的
basePath、trustHost等参数设置
示例代码结构:
import NextAuth from "next-auth"; import OIDC from "@auth/core/providers/oidc"; export const { auth, signIn, signOut } = NextAuth({ providers: [ OIDC({ clientId: process.env.OIDC_CLIENT_ID, clientSecret: process.env.OIDC_CLIENT_SECRET, issuer: process.env.OIDC_ISSUER, // 其他OIDC相关配置,比如authorizationUrl、tokenUrl等 }) ], redirect: async ({ url, baseUrl }) => { // 你当前的redirect逻辑 console.log("Redirect params:", { url, baseUrl }); return url.startsWith(baseUrl) ? url : baseUrl; }, // 其他全局配置项 });环境变量配置清单
需确认是否设置了NEXTAUTH_URL、NEXTAUTH_SECRET,以及NEXTAUTH_URL的取值是否准确(比如本地开发应为http://localhost:3000)OIDC提供商端的回调地址配置
确认在自定义OIDC身份提供商后台,是否将你的应用回调地址(通常是http://localhost:3000/api/auth/callback/[providerId])添加到了允许的列表中服务器端启动日志
提供应用启动时控制台输出的Auth.js相关日志,尤其是涉及baseUrl、回调地址初始化的信息
内容的提问来源于stack exchange,提问作者Tom Troughton
相关产品推荐
相关产品推荐

