【发布时间】:2015-07-14 11:09:21
【问题描述】:
我希望使用node-webkit 创建一个应用程序,它可以简单地打开远程Web 应用程序。 Web 应用程序有一些基于 cookie 的身份验证。考虑到用户已经登录成功,那么如何保留所需的cookies,以便下次应用运行时,对用户进行身份验证?
【问题讨论】:
-
也遇到了同样的问题!
标签: node.js node-webkit
我希望使用node-webkit 创建一个应用程序,它可以简单地打开远程Web 应用程序。 Web 应用程序有一些基于 cookie 的身份验证。考虑到用户已经登录成功,那么如何保留所需的cookies,以便下次应用运行时,对用户进行身份验证?
【问题讨论】:
标签: node.js node-webkit
您可以使用以下说明获取身份验证 cookie: https://github.com/nwjs/nw.js/wiki/window#windowcookies
使用首选方法保存: https://github.com/nwjs/nw.js/wiki/Save-persistent-data-in-app
下次启动时只需检查记录是否存在,并使用 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/ 中或取决于操作系统的等效项中。应用程序本身不需要任何东西,您不必在本地存储中手动保存 cookie 数据。
【讨论】:
chromium-args 中提供了以下参数--user-data-dir='/Users/sunil/sunil/temp/userdatadir/profile1'。知道为什么它不存储会话,或者可能是什么问题?另外,创建了一个问题。如果您能提供指导,我将不胜感激 - stackoverflow.com/q/68427188/819866