Почему иногда отображается диалоговое окно для ввода логина и пароля при активном прокси?

Ссылка скопирована
1 ответ

Проксирование в 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'] )

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'] )

Дополнительно:

Мое предположение - скрипт бывает не успевает обработать аутх данные (событие не успевает подключиться вовремя), поэтому браузер думает, что соединение идет только по ип:порт. Я с таким иногда сталкиваюсь, в основном, только во время первого открытия браузера. Это бывает довольно редко, но какая-то одна-две вкладки могут выбивать это окно.

Кстати, для небольшой оптимизации вашего кода, можете изначально проверять details.isProxy, и если да, то продолжать весь остальной код. Это должно немного ускорить работу плагина/браузера.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ирина WP Ответ

Диалоговое окно для ввода логина и пароля при активном прокси может появляться по нескольким причинам. Вот несколько возможных причин и способы их решения:

1. Неправильные учетные данные прокси: Возможно, у вас неправильно указаны учетные данные для доступа к прокси-серверу. Убедитесь, что вы правильно ввели логин и пароль.

2. Настройки браузера: Проверьте настройки вашего браузера, возможно, он пытается использовать прокси-сервер, который требует аутентификации. Попробуйте отключить использование прокси или настроить его правильно.

3. Проблемы с самим прокси-сервером: Возможно, прокси-сервер имеет проблемы с аутентификацией пользователей. Обратитесь к администратору прокси-сервера для уточнения настроек и возможных проблем.

4. Проблемы с сетевыми настройками: Проверьте вашу сетевую конфигурацию, возможно, есть проблемы с настройками прокси или сети в целом. Попробуйте перезагрузить сетевое оборудование или обратитесь к специалисту по сетевым вопросам.

В целом, диалоговое окно для ввода логина и пароля при активном прокси может быть вызвано различными причинами, и решение проблемы зависит от конкретной ситуации. Попробуйте вышеуказанные рекомендации и, если проблема сохраняется, обратитесь за помощью к специалисту по сетевым вопросам.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно