如何在 Next.js 中获取 http-only cookie 值?

问题描述

我正在使用 Next.js 开发一个 Web 应用程序,并且我使用了仅限 HTTP 的 cookie 来管理身份验证。我使用以下代码设置了一个名为 token 的 cookie。我为此使用了一个名为 cookie 的 npm 包

 res.setHeader(
    "Set-Cookie",cookie.serialize("token",data.jwt,{
      httpOnly: true,maxAge: 60 * 60 * 24,sameSite: "strict",path: "/",})
  );

现在,当我使用 console.log(req.headers.cookie); 时,它会记录一个_ga=GA1.1; token=jnsjndjsnjd 这样的 cookie。所以我的问题是如何获得第二个名为 token 的 cookie。 当我执行 console.log(req.headers.cookie.token) 时,它显示未定义。

解决方法

我找到了解决方案。我们需要使用 cookie.parse 解析 cookie,以便我们可以以 req.headers.cookie.token 的形式访问令牌 cookie。