Проксирование в Chrome работает, но иногда, довольно редко, в браузере отображается диалоговое окно в котором надо ввести логин и пароль.
При этом если закрыть это диалоговое окно - прокси продолжает работать.
function onAuthRequired(details, callback) {
Promise.all([getStatusFromStorage, getUserFromStorage, getPasswordFromStorage()
]).then(async ([status, username, password]) => {
if (status === 'connected' && details.isProxy) {
const isPasswordExpired = Date.now() - password.fetchDate > password.expiresIn
if (isPasswordExpired ) {
const newPassword = await fetchPassword()
await savePasswordToStorage(newPassword )
callback({
authCredentials: { username, password: newPassword },
});
} else {
callback({
authCredentials: { username, password },
});
}
} else {
callback({})
}
})
}
chrome.webRequest.onAuthRequired.addListener(
onAuthRequired,
{urls: ['<all_urls>']},
['asyncBlocking']
)