【问题标题】:Set cookie in request and response在请求和响应中设置 cookie
【发布时间】:2018-10-22 14:08:38
【问题描述】:

我遇到了 cookie 问题。

当我从浏览器点击 /products 请求时,node-express 服务器会使用 cookie 进行响应,并且对于进一步的请求,使用相同的 cookie 来维护会话。

当我从 ionic 应用程序发出相同的请求 /products 时,服务器正在返回 cookie 参数(开发人员工具),但对于进一步的请求,离子应用程序不会在请求中设置 cookie。 如何在 ionic 应用中设置 cookie?

【问题讨论】:

  • 也许,您必须从 ionic 应用程序登录才能设置 cookie 并检索它。请记住,浏览器和 ionic 应用程序是两个不同的客户端,如果您有基于会话的身份验证,您应该从这两个应用程序分别登录,或者如果应用程序基于 OAuth,则使用相同的 access_token。
  • @NishantGhodke 实际问题是我只从 ionic 应用程序发出请求,但未设置来自服务器 cookie 的响应。同样,如果我从浏览器或邮递员发出相同的请求,则服务器正在响应 cookie。那么如何在 ionic 应用程序中设置和获取 cookie。

标签: node.js express cookies ionic3 express-session


【解决方案1】:

实际问题是由于 CORS。我在服务器端添加了以下代码,一切正常。

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "http://localhost:8100");
  res.setHeader("Access-Control-Allow-Credentials", true);
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
  next();
});

现在服务器返回 cookie,这个 cookie 被存储起来,并在后续请求中进一步自动使用。

【讨论】:

    【解决方案2】:

    将该 cookie 存储在 ionic 应用程序的本地存储中。在发送每个请求之前从 localstorage 读取该 cookie,然后附加您的 http 请求。

    【讨论】:

    • 如何从响应中获取 ionic 中的 cookie?
    • 此外,如果我在应用程序的标头中设置 cookie,则此错误会显示在控制台“拒绝设置不安全的标头“cookie””上
    猜你喜欢
    • 1970-01-01
    • 2018-03-16
    • 2021-04-11
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    相关资源
    最近更新 更多