【问题标题】:Next auth middleware { default } is not working下一个身份验证中间件 { default } 不工作
【发布时间】:2023-01-07 21:11:55
【问题描述】:

中间件.ts

export { default } from 'next-auth/middleware';
export const config = { matcher: ['/my/:path*'] };

https://next-auth.js.org/configuration/nextjs#middleware

现在我这样使用,但代码不起作用

我希望中间件在访问与“我的”相关的页面时起作用。 我该如何解决?

"next": "^12.0.8",
"next-auth": "^4.10.3",
"react": "^18.2.0",
"react-dom": "^18.2.0",

这是我的包版本

【问题讨论】:

    标签: next.js middleware next-auth


    【解决方案1】:

    我认为问题可能是您创建 middleware 文件的方式,因为其他一切对我来说都很好。

    从 Next.js 12.2 开始,现在您必须在根目录中创建一个 middleware.ts 文件(与 pages 文件夹相同级别)。但是在您使用的早期版本上,您需要创建一个_middleware.ts(注意下划线)文件里面你的pages文件夹。

    参考:https://nextjs.org/docs/messages/middleware-upgrade-guide#breaking-changes

    【讨论】:

    • 谢谢你!那是我的下一个 js 版本问题。
    【解决方案2】:

    我创建了中间件但不知何故在页面上它可以检测到它是否已登录但是在重定向到页面中间件后认为我没有登录这很奇怪,看起来服务器端中间件使用与前端不同的会话

    【讨论】:

      猜你喜欢
      • 2018-02-17
      • 1970-01-01
      • 2021-04-20
      • 2021-09-06
      • 2016-12-31
      • 2020-11-30
      • 1970-01-01
      • 2023-02-05
      • 2021-05-26
      相关资源
      最近更新 更多