2017-01-25 5 views
0

Я работаю над интерактивным входом в Azure AD с моего webapp. Когда пользователь входит на мой сайт, он перенаправляется на страницу входа в Azure, аутентифицируется и возвращается на мой сайт. Этот процесс включает запрос login.windows.net, который перенаправляет мой браузер на login.microsoftonline.com (который выполняет аутентификацию). Однако я получаю проблему cors, в которой говорится, что перенаправление на login.microsoftonline.com было заблокировано doe без заголовка «Access Control Allow Origin» из запрашиваемого источника. Я знаю, что можно добавить этот заголовок, когда запрашиваемый ресурс находится в моем webapp, но в этом случае его нет. Мой вопрос: если login.microsoftonline.com не возвращает заголовок, который вызывает это, как я могу справиться с этой проблемой из моего webapp? Ниже приведена ошибка на моей консоли браузера.Redirect был заблокирован политикой CORS: Нет заголовка «Access-Control-Allow-Origin»

XMLHttpRequest cannot load https://login.windows.net/ /oauth2/authorize?…......-4129-adea- ccdcbdeaa80e&nonce=c962fb8a-3c8c-4dec-9fbc-4f2fb8fcfde1. Redirect from ' https://login.windows.net/ /oauth2/authorize?…......-4129-adea-ccdcbdeaa80e&nonce=c962fb8a-3c8c-4dec-9fbc-4f2fb8fcfde1' to ' https://login.microsoftonline.com/ /oauth2/au….......-4129-adea-ccdcbdeaa80e&nonce=c962fb8a-3c8c-4dec-9fbc-4f2fb8fcfde1' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' https://my_host ' is therefore not allowed access.

+0

Не могли бы вы просто перенаправить их прямо на login.microsoftonline.com? – juunas

+0

@juunas Я попробовал то, что вы сказали, но проблема все еще там. Получена ошибка ниже: XMLHttpRequest не может загрузить https://login.microsoftonline.com/ /oauth2/au.........-4d58-8cb3-f0c58587c42d&nonce=beb38902-6be9-4a8c-8464-8eb96af9871b. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Поэтому Origin https: // my_host 'не имеет доступа. –

+0

Но вы не должны делать XHR против конечной точки авторизации. Вы должны делать перенаправление. – juunas

ответ

0

я смог обойти эту проблему, передавая URL перенаправления в форме действия и запуская представить с помощью Javascript, вместо того, чтобы непосредственно перенаправляется на URL. Проверка CORS не выполняется, когда запрос поступает из формы submit.

+0

Можете ли вы поделиться своим кодом - как вы это сделали? – Hello