Есть ли способ для SPA проверить, есть ли прокси и правильно ли с ним обращаться? - PullRequest
2 голосов
/ 02 мая 2020

Мы разработали SPA SaaS и недавно приступили к выпуску программного обеспечения.

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

Проблема заключается в следующем:

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

Для его повторной работы они должны удалить все данные приложения в chrome (таким образом, работник службы незарегистрирован, локальное хранилище и кэш очищены). Следующий вызов API вызовет запрос их учетных данных прокси-сервера, и они снова смогут работать.

Так есть ли у приложения возможность узнать, установлен прокси-сервер или нет? Любой способ вызвать приглашение прокси-сервера, если он не установлен или что-то еще?

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

Мы используем VueJS с топором ios для запросов.

1 Ответ

0 голосов
/ 03 мая 2020

Я предполагаю, что когда учетные данные пользователя истекли, ваш пользовательский интерфейс не обрабатывает перенаправление на страницу входа. Когда пользователь входит в систему в первый раз, вы должны сохранить, что пользователь успешно вошел в браузер localstorage. Если ваш сервер возвращает 401 код ошибки, вы можете удалить флаг и перенаправить пользователя на страницу входа. Вы можете добиться этого, используя мета-поля в маршрутизаторе.

Посмотрите эту ссылку о том, как использовать мета-поля https://router.vuejs.org/guide/advanced/meta.html

...