NodeJS 无法在浏览器中存储服务器发送的cookie,在前端使用Axios

46qrfjad  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(157)

这是我的express代码,我使用express-session创建存储并使用cookie。从版本1.5.0开始,模块不再需要cookie解析器来将cookie存储在req/res中。
会话存储在ElephantSQL上托管的PSQL数据库中。
code snippet
下面的代码是我的express应用程序的cors配置,以及我如何处理req.body:
code snippet
该应用程序托管在Railways.app上:https://tradenow-authentication-production.up.railway.app/api
下面的代码是我如何在我使用React和Axios的前端应用程序中向API发出POST请求:
code snippet
code snippet
这些问题是:

  • 当我运行应用程序并尝试登录时,我无法获得存储在浏览器中的任何Cookie。它在数据库中存储2个会话,这确实是一个奇怪的行为。然而,当我在本地运行Node应用程序并从前端向localhost发出请求时,一切似乎都很好,只创建了一个会话并存储了cookie。
  • 根据逻辑,当我发布一个不存在的用户名或密码时,它应该返回一个404错误,但它返回一个401错误,不应该这样工作。同样,在本地运行服务器也可以正常工作。
  • 当使用Insomnia使用URL向部署的服务器发出这些post请求时,行为是正确的,cookie被正确存储,并且只创建了1个会话。
nhaq1z21

nhaq1z211#

我有一个类似的问题,问题是在axios电话出于某种原因。你是否尝试使用内置的fetch而不是axios?

相关问题