如何允许cors在特定域上表达

时间:2017-09-13 12:51:46

标签: javascript node.js express cookies axios

我正在尝试通过ajax从localhost登录到其他地方托管的服务器之后发送cookie。为了解决与cookie相关的错误,我在我的axios中使用:

var instance = axios.create({ 
   withCredentials: true
});

在expressjs中我有这个:

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

所以,我现在收到此错误

  

无法加载https://foo.herokuapp.com/login:对预检请求的响应未通过访问控制检查:' Access-Control-Allow-Origin'响应中的标题不能是通配符' *'当请求的凭据模式为' include'时。起源' http://localhost:8080'因此不允许访问。 XMLHttpRequest发起的请求的凭证模式由withCredentials属性控制。

我如何告诉快递将我的域列入白名单,或者如何只发回cookie以便我可以保持登录状态?

要添加更多信息,当我向expressjs发布(登录)请求时,它会返回一个cookie,现在我的浏览器不会通过iself发送cookie,这就是我使用withCredentials <的原因/ p>

1 个答案:

答案 0 :(得分:1)

您将*替换为原点(示例中为http://localhost:8080)。