节点请求在控制台日志中显示 jwt 令牌,但无法在 cookie 中设置
Posted
技术标签:
【中文标题】节点请求在控制台日志中显示 jwt 令牌,但无法在 cookie 中设置【英文标题】:Node request shows jwt token in console log but can't set in cookie 【发布时间】:2021-11-28 07:03:02 【问题描述】:由于某种原因,响应是:TypeError: Cannot read property 'data' of undefined.
当我想在 cookie 中设置数据时。
但是,当我只是控制台记录数据时,它没有问题。
我收到以下请求:
registerRoute.route("/register").post(async (req, res) => const 用户名、密码、电子邮件 = req.body;
试试 等待 axios .post("网址", 用户名: ”###”, 电子邮件: ”###”, 密码: ”###”, ) .then((响应) => // 处理成功。 res.status(200); res.send("注册完成");
if (response.data.jwt)
res.cookie("secureCookie", response.data.jwt,
secure: process.env.NODE_ENV !== "development",
httpOnly: true,
expires: dayjs().add(30, "days").toDate(),
);
console.log("User token", response.data.jwt);
)
.catch((error) =>
// Handle error.
res.status(400);
if (error.response.data.message[0].messages[0].message)
res.send(error.response.data.message[0].messages[0].message);
console.log(
"An error occurred:",
error.response.data.message[0].messages[0].message
);
);
捕捉 (e) 资源 .status(400) .send("发生错误:", e.response.data.message[0].messages[0]); );
谢谢!
【问题讨论】:
【参考方案1】:发现问题了! cookie“过期”有问题。该错误只是让我感到困惑,因为它说无法读取未定义的属性“数据”。最后它与“数据”无关。
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于节点请求在控制台日志中显示 jwt 令牌,但无法在 cookie 中设置的主要内容,如果未能解决你的问题,请参考以下文章
如何在客户端上保存 JWT 令牌,在节点中使用 Hapi js。?