我有一个电子应用程序,有时会在公司防火墙后面使用。
我已向应用程序添加了登录事件监听器,并通过对话框从用户请求用户名和密码。
如果用户第一次正确输入详细信息,则工作正常,但是如果第一次尝试输入时出现错误,然后用户第二次输入正确的详细信息,则请求似乎停顿,然后超时。
如果我激活另一个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);
}
});
如果有人有任何很棒的指针。目前,我正在考虑忽略任何第二个请求以快速解决这个问题。
谢谢
答案 0 :(得分:0)