我使用的是next.js 14的版本,带有应用程序路由功能和NextAuth。
我希望保护API,但在http://localhost:3000/api/user/clotdcsk0001kvjmg8bvbkxy7
上使用Postman请求受保护的端点时,使用getServerSession( authOptions )
方法时得到了一个null对象。
我尝试在请求的授权部分传递一个承载令牌,也就是next-auth.session-token
cookie,这使得通过中间件保护并命中端点成为可能,但我无法在GET方法中获取会话对象以进行自定义逻辑。
这是我的/api/user/[id]/route.ts
文件。
export async function GET ( req : NextRequest, ds : DynamicSegment ) {
const session = await getServerSession( options )
console.log(session) //prints null
// Custom logic to handle the request...
}
字符串
如果我使用相同的方法,在page.tsx文件中使用getServerSession
方法来获取会话对象,它可以正常工作(通过资源管理器)。
2条答案
按热度按时间vjhs03f71#
我发现,当从浏览器或 Postman 调用时,应该在请求中传递next-auth.session-token的cookie。
字符串
其中,sessionToken是从
page.tsx
型
wfsdck302#
你可以试试这个
字符串