Next Auth CLIENT_FETCH_ERROR 在 vercel 上部署时

Next Auth CLIENT_FETCH_ERROR when deploying on vercel

我正在尝试将 NextJs 应用程序部署到 Vercel,我正在使用 next auth 通过 discord 进行身份验证。

在本地它工作正常。正确的回调 URL 都已配置,NEXT_AUTH_URL 也已配置。

export default NextAuth({
providers: [
    DiscordProvider({
        clientId: process.env.DISCORD_CLIENT_ID,
        clientSecret: process.env.DISCORD_CLIENT_SECRET
    })
],

secret: process.env.SECRET,

jwt: {
    signingKey: process.env.JWT_SIGNING_PRIVATE_KEY,
},

database: process.env.DATABASE_URL,
adapter: PrismaAdapter(prisma),
})

但是,当我尝试登录已部署的站点时,收到了 500 CLIENT_FETCH_ERROR。

可能是环境中有键的东西: 使用这种格式的密钥:process.env.NEXT_PUBLIC_JWT_SIGNING_PRIVATE_KEY

我找到了。

我在 Prisma 架构停止工作之前对其进行了更改。

Vercel 缓存了使用旧模式生成的旧 prisma 客户端。

我必须更新我的构建设置并执行重新部署以清除缓存并重新生成最新的 prisma 客户端。

这是我在 vercel 上配置的构建命令,之后我只需触发重新部署即可。

prisma generate && next build