Существует сервер, с которого я потребляю веб-служб (https://example.com/zzzzzz/rest/services/)Потребляя REST службы с проверкой подлинности SSO
Если я просто вставить это в Chrome, я запрос на проверку подлинности. Я положил свои верительные грамоты, и я могу свободно бродить.
Однако, если я пытаюсь открыть что-то вроде:
https://example.com/zzzzzz/rest/services/tttttt/uuuuuu/MapServer
в Javascript с XMLHttpRequest, я получаю 401 Несанкционированное ответ каждый раз. Это работает, если добавить заголовок к этой просьбе с моими учетными данными:
xml_req.setRequestHeader("Authorization", "Basic " + btoa("username:password");
Однако, это означало бы выставить, что имя пользователя и пароль в каждом коде JS, а также добавить заголовок к каждому XMLHttpRequest (который я не могу сделать в эта точка). Этот сервер не мой, поэтому я не могу ничего с ним делать, кроме как использовать службы после входа.
Есть ли способ заставить мой собственный сервер (IIS) обрабатывать эту аутентификацию для меня всякий раз, когда я пытаюсь получить доступ к этим службам?
Дополнительная информация: Все это для сервера ArcGIS.
Это может помочь вам, HTTP: //chrisroos.co.uk/blog/2013-03-08-the-behaviour-of-xmlhttprequest-withcredentials-when-used-with-cors – cracker
Здравствуйте, спасибо, что ответ! Однако кажется, что в конце он все еще устанавливает заголовок запроса и hardcodes имя пользователя/пароль (в base64). Я думаю, мне, возможно, придется каким-то образом создать прокси-сервер, который пересылает запросы и возвращает результаты, но также обрабатывает аутентификацию для меня. Однако я не совсем уверен, как это сделать ... –