会话cookie在Electron中不起作用

我正在考虑在我正在构build的Electron [0]应用程序中实现一个login系统,但是在处理会话的过程中遇到了困难。 基本上我想存储用户会话,以便在应用程序重新启动之间持续存在(如果启用了“记住我”function)。

我必须利用现有的后端与cookie身份validation,我不能改变任何东西。

从Session对象的Electron文档[1]我收集到,我应该使用像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 set输出,但重新启动应用程序并运行以下代码:

 // 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] http://electron.atom.io
[1] http://electron.atom.io/docs/api/session/

另一种方法可能是看看electron-json-storage 。 使用这个插件,您可以在整个用户体验中将JSON写入系统文件,然后在应用程序加载时调用该文件来replace用户“状态”。