首页  >  文章  >  后端开发  >  为什么我的 HTTPOnly Cookies 设置没有在本地主机上?

为什么我的 HTTPOnly Cookies 设置没有在本地主机上?

Barbara Streisand
Barbara Streisand原创
2024-11-18 08:14:02379浏览

Why Aren't My HTTPOnly Cookies Setting on Localhost?

浏览器本地主机中未设置 HTTPOnly Cookie

问题:

设置 HTTPOnly cookie 的 REST API 端点是在本地主机中无法正常工作

使用的方法:

  • 创建了一个最小的 Go 和 Node.js API 来重现该问题。
  • 测试了 API邮递员,设置 cookie 的地方

解决方案:

问题出在前端 JavaScript 的 fetch() 方法。要在本地浏览器环境中接收 HTTPOnly cookie,您必须在 RequestInit 对象中包含凭证:“include”选项。

let response = await fetch(`http://localhost:8000/login`, {
  method: "POST",
  credentials: "include", //--> send/receive cookies
  body: JSON.stringify({
    email,
  }),
  headers: {
    "Content-Type": "application/json",
  },
});

对于 Axios,您可以通过在第三个配置中设置 withCredentials: true 来启用 cookie 处理争论。

以上是为什么我的 HTTPOnly Cookies 设置没有在本地主机上?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn