【问题标题】:Cookies appear in the cookies tab but I can't access them with req.headers.cookieCookie 出现在 cookie 选项卡中,但我无法使用 req.headers.cookie 访问它们
【发布时间】:2022-12-17 11:35:41
【问题描述】:

我将 next.js 与 express 一起使用,在我的 express 服务器中,我正在设置 cookies,当我转到一条路线时,我试图检索 cookies,但 cookie 未定义,我正在使用一个名为@的库987654321@ 我可以在 cookie 下的应用程序选项卡中看到 cookie,它设置了正确的值。

这是在 express 服务器中设置 cookie 的方式:

res.setHeader(
          "Set-Cookie",
          cookie.serialize("tk", accessToken, {
            maxAge: 1000 * 60 * 15, //15 minutes
            httpOnly: true, // The cookie only accessible by the web server
            path: "/",
            secure: false,
            expires: expiresIn,
            // sameSite: "none",
          })
        );

这就是我试图阅读它的方式:

const cookies = cookie.parse(req.headers.cookie || "");

登录nextjs:

    let headers = new Headers();
    headers.append("Content-Type", "application/json");
    headers.append("Accept", "application/json");

    const resp = await fetch("http://localhost:5000/login", {
      method: "POST",
      mode: "cors",
      // redirect: "follow",
      credentials: "include", // Don't forget to specify this if you need cookies
      headers: headers,
      body: JSON.stringify(data),
    });

【问题讨论】:

    标签: node.js reactjs express cookies next.js


    【解决方案1】:

    Cookie.parse() 对我不起作用。我用这个:

        export async function getServerSideProps(context) {
      const cookie = context.req.cookies["COOKIENAMEHERE"];
      return {
        props: {
          token: cookie || null,
        },
      };
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-04
      • 1970-01-01
      • 2023-03-17
      • 2023-01-27
      • 2016-02-16
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      相关资源
      最近更新 更多