Next-auth中间件'评估'不允许

发布于 2025-01-22 19:28:42 字数 665 浏览 0 评论 0原文

我正在尝试实现一个简单的下一个授权中间件,以保护除/api/healthcheck路由以外的所有API路由。

我在/pages/api/_middleware中写下了以下内容,

import { withAuth } from 'next-auth/middleware';

// protect all api routes but /api/healthcheck
export default withAuth({
  callbacks: {
    authorized: async ({ req, token }) => {
      if (req.page.name === '/api/healthcheck') return true;
      if (token) return true;
      return false;
    },
  },
});

这似乎在Localhost上正常工作,但是当我尝试构建以下错误时,我会得到以下错误,

Dynamic Code Evaluation (e. g. 'eval', 'new Function') not allowed in Middleware pages/api/_middleware

任何想法会导致这一点?

I'm trying to implement a simple next-auth middleware to protect all api routes except a /api/healthcheck route.

I wrote the following within /pages/api/_middleware

import { withAuth } from 'next-auth/middleware';

// protect all api routes but /api/healthcheck
export default withAuth({
  callbacks: {
    authorized: async ({ req, token }) => {
      if (req.page.name === '/api/healthcheck') return true;
      if (token) return true;
      return false;
    },
  },
});

This seems to work correctly on localhost but when I try to build I get the following error

Dynamic Code Evaluation (e. g. 'eval', 'new Function') not allowed in Middleware pages/api/_middleware

Any ideas what can cause this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡墨 2025-01-29 19:28:42

弄清楚了。

我误认为是授权回调async显然是被禁止的

Figured it out.

I mistaken made the authorized callback async which apparently is forbidden

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文