Доступ к защищенному IAP-ресурсу из JS с использованием запросов XHR? - PullRequest
1 голос
/ 19 октября 2019

Я пытаюсь получить доступ к движку Google APP, который защищен с помощью Google Cloud IAP (Identity Aware Proxy). Я могу получить доступ к ресурсу, используя почтальон, а также любой бэкэнд-сервис, такой как (Node или Python), используя маркер идентификации. Но как только я пытаюсь получить к нему доступ из браузера, используя тот же токен идентификации, я получаю несанкционированную ошибку 401.

Я получаю токен идентификации, следуя этой статье: https://engineering.q42.nl/google-identity-aware-proxy/

var xhr = new XMLHttpRequest();
            xhr.withCredentials = true;

            xhr.addEventListener("readystatechange", function() {
                if (this.readyState === 4) {
                    console.log(this.responseText);
                }
            });

            xhr.open("GET", "<appengine_url>", true);
            xhr.setRequestHeader("Accept", "text/html,*/*");
            xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
            xhr.setRequestHeader("Authorization", "Bearer <identity_token>");

            xhr.send(data);

Сообщение об ошибке: OPTIONS my_url 401

Доступ к XMLHttpRequest в my_url из источника 'http://localhost:4200' заблокирован политикой CORS: Ответ на запрос предполетной проверки не проходит контроль доступапроверка: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin»

...