Cookies 使用Aurelia和Electron在获取请求中发送cookie 目标

Cookies 使用Aurelia和Electron在获取请求中发送cookie 目标,cookies,electron,aurelia,Cookies,Electron,Aurelia,我必须通过Aurelia客户端访问远程网站。用电子包裹时,溶液也应起作用。请求是通过http.fetch()完成的。必须使用客户端设置的不同cookie多次执行此请求 问题 设置cookie的各种尝试都失败了。它一定是由客户端中的某个安全层引起的。使用相同的机制设置其他标题效果很好 在请求中未指定cookie头的情况下,服务返回一个在内部正确处理的集cookie头。后续请求将按预期发送收到的cookie,直到Electron客户端重新启动。这种行为是为大多数客户设计的,但不是我针对具体问题所需要

我必须通过Aurelia客户端访问远程网站。用电子包裹时,溶液也应起作用。请求是通过http.fetch()完成的。必须使用客户端设置的不同cookie多次执行此请求

问题 设置cookie的各种尝试都失败了。它一定是由客户端中的某个安全层引起的。使用相同的机制设置其他标题效果很好

在请求中未指定cookie头的情况下,服务返回一个在内部正确处理的集cookie头。后续请求将按预期发送收到的cookie,直到Electron客户端重新启动。这种行为是为大多数客户设计的,但不是我针对具体问题所需要的

尝试的解决方案 据我所知,相同的问题至少发生在三种不同的环境中:

  • 电子
  • Firefox/Iceweasel
  • Chromium(使用
    Chromium--禁用web安全--用户数据目录
  • 我通过Apache web服务器直接以“file://”和“http://”的形式运行index.html。访问的服务URL始终指向Internet中的同一服务

    Aurelia视图模型(overview.js) 或者,相同的代码已经用附加的
    进行了测试;path=/
    直接位于
    key=value
    后面

    电子饼干 使用该包,可以访问和操作document.cookie属性。设置的值甚至在客户端重新启动时保持不变。问题:

  • Cookie不会添加到请求中
  • 浏览器不支持require
  • cookie解析器在添加路径时似乎有问题(不相关,但容易混淆)
  • fetchRoot(nodeId){}
    由以下代码扩展:

    require('electron-cookies')
    document.cookie = 'document-cookie=test';
    
    其他包
    尝试使用其他软件包(例如,一个不同的和简单的decorator获取cookie)似乎遇到了相同的安全问题。在某些情况下,不会对cookie执行“set header”。

    来自Fetch API文档:“默认情况下,Fetch不会从服务器发送或接收任何cookie,如果站点依赖于维护用户会话(要发送cookie,必须设置credentials init选项),则会导致未经验证的请求。”()
    require('electron-cookies')
    document.cookie = 'document-cookie=test';