【问题标题】:NextJS - can't acces cookies in getServerSidePropsNextJS - 无法访问 getServerSideProps 中的 cookie
【发布时间】:2021-05-12 13:48:25
【问题描述】:

我需要在 getServerSideProps 函数中访问 c​​ookie 来验证用户,但我无法访问任何 cookie

export async function getServerSideProps(context) {
  const cookies = nookies.get(context); // get undefined
  const { req, res } = context;
  const token = context.req.headers.cookie; // get undefined
  // req.cookies is also undefined
    console.log(token);
   
            return {
                props: {
                    cookies:cookies,
                }
            };
}

export default MainPage;

我可以在浏览器中看到 cookie,如果它是 httpOnly、secure 或其他,它并没有什么不同。 这是我设置 cookie 的部分代码,但我认为这不是问题

res.setHeader("Set-Cookie",
    cookie.serialize("userToken", token, { maxAge: 43200,}));
res.status(200).send(payload);

【问题讨论】:

    标签: authentication cookies next.js server-side-rendering httpcookie


    【解决方案1】:

    好的,我想通了,以防其他人为此苦苦挣扎,我只需将创建时的 cookie 路径设置为“/”,如下所示:

     res.setHeader("Set-Cookie",
                    cookie.serialize("userToken", token, {
                      maxAge: 43200,
                      path: "/", 
                      httpOnly: true,
                      secure: process.env.NODE_ENV !== "development",
                    })
                  );
    

    【讨论】:

      猜你喜欢
      • 2020-10-11
      • 2021-09-26
      • 1970-01-01
      • 2020-10-30
      • 2021-12-31
      • 2021-05-23
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      相关资源
      最近更新 更多