首页 > 解决方案 > Httponly cookie 未使用 Vuejs 保存在浏览器中

问题描述

我正在使用 Webstorm 开发应用程序,并且由于我使用的是 JWT 身份验证,因此我想使用HttpOnlycookie 将其存储在用户的浏览器中。我已经做了各种尝试让 Vuejs 与它一起工作,但似乎没有一个工作,cookie 似乎没有保存在浏览器中。我尝试将控制器简单化为 GET 请求上的一个简单 cookie,在浏览器上测试它工作正常,但是当与 Vuejs 一起使用时,它似乎没有被存储。

该方法绑定为@click存储在 Vue 路由器路径之一中的按钮:

  methods: {
    async getCookies() {
      const response = await fetch(
        `http://localhost:8080/test`,
        {
          method: "Get",
          headers: {
            "Content-Type": "application/json"
          }
        }
      )
    }

我从服务器收到的响应看起来像这样,并且通过在浏览器中键入端点来使用它时工作:

[1]:https://i.stack.imgur.com/WCnee.png

标签: javascriptvue.jscookiesrequesthttponly

解决方案


通过执行以下操作,我设法找到了该问题的解决方案:首先,我将服务器端的访问权限从能够通过的所有来源更改为仅 Vue 应用程序正在使用的特定端口。然后我这样设置标题

   credentials: "include"

根据我发送的请求


推荐阅读