我正在尝试基于JWT和httpOnly cookie在我的MEVN系统上实现身份验证。对于我的开发环境,我在localhost:8080上运行frontend(Vuejs)服务器,在localhost:8000上运行backend(RestAPI nodejs)服务器。 与邮递员联系时,我的API服务器可以正常工作。只需使用浏览器手动访问url端点也可以正常工作。由于设置了CORS,因此前端(8080)可以向服务器(8000)请求HTTP请求,并且服务器响应也可以返回fin。但是,服务器无法将Cookie附加到响应。 具体来说,在前端发出请求并且服务器使用cookie对其进行响应之后,由于安全原因(似乎是因为浏览器认为它们具有不同的域,即使我设置了CORS标头),前端也似乎阻止了cookie。我也尝试过“ withCredentials”,但是没有用。如果我使用浏览器手动访问后端API端点,它将毫无问题地获取Cookie。 例如,假设我在API服务器上有一个伪造的临时GET端点,它仅向用户提供令牌,还有一个GET端点,用于检查用户是否已通过身份验证。访问伪造的临时端点会给我有效的cookie,然后身份验证检查端点会向我返回“用户已登录”,这是我设置的端点。 因此,基本上,如果我在同一端口上同时运行前端和后端,则可以正常工作。但是,即使是已部署的端口,我也使用不同的端口。而且我当前的实现不适用于localhost:8080和localhost:8000。 我已经为此苦苦挣扎了很长时间,并且我使用了从网络上获得的大部分修复程序。 感谢您的阅读!