如何在 node-webkit 中保留 cookie

How to retain cookies in node-webkit

我希望使用 node-webkit 创建一个应用程序,它可以完成打开远程 Web 应用程序的简单工作。 Web 应用程序有一些基于 cookie 的身份验证。考虑到用户已登录成功,如何保留所需的cookies,以便下次运行应用程序时对用户进行身份验证?

  1. 您可以使用以下说明获取身份验证 cookie: https://github.com/nwjs/nw.js/wiki/window#windowcookies

  2. 使用首选方法保存: https://github.com/nwjs/nw.js/wiki/Save-persistent-data-in-app

  3. 下次启动时只需检查记录是否存在,并使用方法 1 设置 cookie。

应该是这样的:

var gui = require('nw.gui');
var win = gui.Window.get();

function login() {
   var opts = {};
   if(localStorage.auth) {
      opts.cookies: [
           'Auth': localStorage.auth
      ];
   }

    someRequest.get(opts, function(result) {
        if(result)
          localStorage.auth = win.cookies.get('auth');
    });
}

截至 2018 年,NW.js 默认保留 cookie 和其他持久性浏览器数据。这些存储在 Windows 中的 %LOCALAPPDATA%/name-in-manifest/ 或等效项中,具体取决于 OS。应用程序本身不需要任何东西,您不必在本地存储中手动保存 cookie 数据。