5

当我在 vercel.in 开发模式下部署 nextjs 应用程序时,我得到了这个错误,一切正常,但是当我在 vercel 中部署我的应用程序时,我得到了这个错误。

这个错误可能来自下一个身份验证,但我不知道为什么会出现。

我在 [...nextauth].js 中的代码:

export default NextAuth({
session: {
    maxAge: 30 * 24 * 60 * 60,
    jwt: true,
    updateAge: 24 * 60 * 60
},
providers: [
    Providers.Credentials({
        async authorize(credentials) {
            try {
                await dbConnect();

                const findUser = await User.findOne({ email: credentials.email });
                if (!findUser) {
                    throw new Error('User not found.');
                }

                const comparePass = await comparePassword(credentials.password, findUser.password);
                if (!comparePass) {
                    throw new Error('Confirm password not match.');
                }
                return { email: credentials.email, isAdmin: findUser.isAdmin };
            } catch (error) {
                throw new Error(error.message);
            }
        }
    })
]});

当请求 /api/auth/session 和 /api/auth/_log 时会出现此错误

我很高兴有人能帮助我。

4

1 回答 1

3

您使用的是哪个版本的下一个身份验证?如果是 3.20.0 及更高版本,则问题与适配器有关。尝试在部署时检查您的函数日志中是否有类似的内容:

部署错误

@types/next-auth如果是这样,请在更新next-auth到最新版本后尝试卸载。它为我解决了这个问题。

于 2021-05-17T09:32:08.270 回答