我有一个电子应用程序,有时会在公司防火墙后面使用。
我已向应用程序添加了一个登录事件侦听器,并通过对话框向用户请求用户名和密码。
如果用户第一次正确输入他们的详细信息,它工作正常,但如果第一次尝试出错,然后用户第二次输入正确的详细信息,请求似乎停止然后超时。如果我激活另一个 HTTP 请求,创建第三个身份验证请求,并正确输入详细信息,它就可以工作。
以下是当前形式的主进程的代码:
const requestHistory = [];
let onAuthCallback = function (username, password) {
const lastIndex = requestHistory.length - 1;
if (lastIndex < 0) {
return;
}
const {callback} = requestHistory[lastIndex];
callback(username, password);
};
app.on('login', (event, webContents, request, authInfo, callback) => {
event.preventDefault();
mainWindow.webContents.send('proxy-auth:req', authInfo);
requestHistory.push({event, webContents, request, authInfo, callback});
});
ipcMain.on('proxy-auth:userpass', (event, userpass) => {
console.info('userpass:', userpass);
const {username, password} = userpass;
try {
console.info('proxy-auth with "%s" "%s"', username, password);
onAuthCallback(username, password);
} catch (error) {
console.error('ERROR in `proxy-auth:userpass`:', error);
}
});
如果有人有任何指示,那就太好了。目前我正在考虑忽略任何第二个请求以快速解决这个问题。
谢谢