会话cookie不在Electron中工作

Rev*_*ell 10 javascript cookies session node.js electron

我正在考虑在我正在构建的Electron [0]应用程序中实现一个登录系统,但却遇到了处理会话的问题.基本上我想存储用户会话,因此它在应用程序重启之间保持不变(如果启用了"记住我").

我必须使用现有的后端,它使用cookie身份验证,我无法在那里更改任何内容.

从Session对象[1]上的Electron文档中我收集到我应该使用像fe这样的分区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);
    }
});
Run Code Online (Sandbox Code Playgroud)

运行之后,我看到了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);
    }
});
Run Code Online (Sandbox Code Playgroud)

返回的输出是[].

关于我做错了什么或需要做什么不同的任何指示都将受到高度赞赏!

[0] http://electron.atom.io
[1] http://electron.atom.io/docs/api/session/

Sat*_*ors 1

另一种选择可能是查看electronics-json-storage。使用此插件,您可以在整个用户体验过程中将 JSON 写入系统文件,然后在应用程序加载时调用该文件以替换用户“状态”。