【问题标题】:How to retain cookies in node-webkit如何在 node-webkit 中保留 cookie
【发布时间】:2015-07-14 11:09:21
【问题描述】:

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

【问题讨论】:

  • 也遇到了同样的问题!

标签: node.js node-webkit


【解决方案1】:
  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');
    });
}

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我也面临着同样的会话不存储最新 NWJS 0.52.0 版本的问题,我还在chromium-args 中提供了以下参数--user-data-dir='/Users/sunil/sunil/temp/userdatadir/profile1'。知道为什么它不存储会话,或者可能是什么问题?另外,创建了一个问题。如果您能提供指导,我将不胜感激 - stackoverflow.com/q/68427188/819866
    猜你喜欢
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多