Javascript 会话cookie在电子计算机中不工作

Javascript 会话cookie在电子计算机中不工作,javascript,node.js,session,cookies,electron,Javascript,Node.js,Session,Cookies,Electron,我正在考虑在我正在构建的Electron[0]应用程序中实现一个登录系统,但在处理会话时遇到了困难。基本上,我希望存储用户会话,以便在应用程序重新启动之间保持它(如果启用了“记住我”) 我必须使用一个现有的后端,该后端与cookie身份验证一起工作,我无法在那里更改任何内容 从会话对象[1]的Electron文档中,我发现我应该使用f.e.persist:someName这样的分区来拥有一个持久性存储,但这并不像看起来那样在应用程序重启之间持久化 我当前设置cookie的方式如下: // mai

我正在考虑在我正在构建的Electron[0]应用程序中实现一个登录系统,但在处理会话时遇到了困难。基本上,我希望存储用户会话,以便在应用程序重新启动之间保持它(如果启用了“记住我”)

我必须使用一个现有的后端,该后端与cookie身份验证一起工作,我无法在那里更改任何内容

从会话对象[1]的Electron文档中,我发现我应该使用f.e.
persist:someName
这样的分区来拥有一个持久性存储,但这并不像看起来那样在应用程序重启之间持久化

我当前设置cookie的方式如下:

// main-process/login.js

const session = require('electron').session;

const currentSession = session.fromPartition('persist:someName').cookies;

currentSession.set({
    name: 'myCookie',
    url: 'https://www.example.com',
    value: 'loggedin=1',
    expirationDate: 1531036000
}, function(error) {
    console.log('Cookie set');
    if (error) {
        console.dir(error);
    }
});
运行此操作后,我会看到
Cookie集
输出,但在重新启动应用程序并运行以下代码时:

// main.js

const session = require('electron').session;

const currentSession = session.fromPartition('persist:someName').cookies;

currentSession.get({}, function(error, cookies) {
    console.dir(cookies);
    if (error) {
        console.dir(error);
    }
});
返回的输出是
[]

任何关于我做错了什么或需要改变什么的建议都将不胜感激

[0]

[1] 另一种选择可能是看一看。使用此插件,您可以在整个用户体验期间将JSON写入系统文件,然后在应用程序加载时调用该文件以替换用户“状态”。

进一步研究该问题后,这可能是1.2.2之后的Electron版本的问题,正如GitHub上的此线程所指出的:1.:检查您的导入,我想象“需要(‘电子’]”可能会导致一些问题。2:您可以改为查看localStorage API。@JensHabegger是的,这里的脚本中有一个输入错误,对不起!同时,事实证明这是Electron中的一个问题,我正在等待一个新版本,该版本的修复程序可用。根据我的经验,会话API充满了无法解释的错误havior.在我的应用程序中,我在创建窗口之前获取/设置cookie,为了让cookie真正得到设置,我必须首先设置它们,然后再次获取它们(比如
session.cookies.get({},()=>{})
)。这没有意义,但它始终有效。您是否通过Chrome开发工具验证了它不在窗口中?(查看“应用程序”或“资源”选项卡下的内容)。