NextJS - 无法访问 getServerSideProps 中的 cookie

问题描述

我需要在 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);

解决方法

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...