我正在尝试使用新的 Next.js 12 中间件功能来实现路由保护。但我发现每次我尝试访问会话时我都会得到空值。因此没有得到预期的结果。这是为什么?
import { NextResponse, NextRequest } from 'next/server'
import { getSession } from "next-auth/react"
//This acts like a middleware, will run every time for pages under /dashboard, also runs for the nested pages
const redirectUnauthenticatedUserMiddleware = async (req, ev) => {
const session = await getSession({ req })
if (!session) {
return NextResponse.redirect('/login')
}
return NextResponse.next()
}
export default redirectUnauthenticatedUserMiddleware
Run Code Online (Sandbox Code Playgroud)