跨域正确设置Cookie

时间:2019-05-22 23:20:50

标签: javascript angularjs google-chrome express cookies

如何在当前域上正确设置cookie,而不是在当前域上设置cookie?

我有一个在A.mydomain.com上运行的网站 REST API正在从B.mydomain.com

进行调用

使用expresscookie-parser即时运行

res.cookie('some-key', 'some-value', {
  expire: 60 * 15,
  domain: '.mydomain.com',
  path: '/',
})

这一切正常,并显示在Cookie中(在做一吨网际网路之后)就很好了

如果我没有设置域。 Cookie没有显示在A.mydoamin.com中,我必须浏览Chrome浏览器Cookie以找到B.mydomain.com并发现已在其中设置了Cookie。

使用Google的登录系统,我注意到他们能够将Cookie设置为其他域。我想知道如何设置相同的东西。或如何正确执行此操作。 enter image description here

我在服务器上的标头是:

  res.setHeader('Access-Control-Allow-Origin', 'https://A.mydomain.com')
  res.setHeader('Access-Control-Allow-Credentials', 'true');
  res.setHeader('Vary', 'Origin');
  res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
  res.setHeader('Access-Control-Allow-Methods', 'GET, PUT, POST, PATCH, DELETE, OPTIONS')

,请求如下所示:

 this.http.post(
      'https://B.mydomain.com/api/login/google',
      {loginToken: googleToken}, {withCredentials:true})

0 个答案:

没有答案
相关问题