如何解决NextJS - 无法访问 getServerSideProps 中的 cookie
我需要在 getServerSideProps 函数中访问 cookie 以验证用户,但我无法访问任何 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",})
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。