История. У нас есть WebAPI, настроенный с помощью Azure ACS и ADFS для аутентификации.
Доступ к любому ресурсу WebAPI через браузер приведет к перенаправлению пользователей, не прошедших проверку подлинности, на страницу входа в ADFS через ACS. После успешного входа в систему пользователь будет перенаправлен для возврата URL-адреса в качестве настройки в ACS вместе с токеном безопасности. Это прекрасно работает.
Проблема. Мы разрабатываем мобильное приложение с использованием платформы Ionic (http://ionicframework.com/< /а>). Мы хотим использовать те же ACS и ADFS для аутентификации, которые мы используем для WebAPI. В этом процессе мы сталкиваемся со следующими проблемами:
Проблема 1. При доступе к любому ресурсу WebAPI через мобильное приложение (Ionic, Cordova, AngularJS) пользователь перенаправляется в ACS, и мы получаем следующую ошибку.
XMLHttpRequest cannot load https://{domainname}.accesscontrol.windows.net/v2/wsfederation?wa=ws…52fitem&wct=2014-10-10T14%3a24%3a34Z&whr=https%3a%2f%2f{domainname}.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
Следовательно, мы не можем аутентифицировать любого пользователя через ACS с мобильным приложением.
Проблема 2. Установка URL возврата в качестве пустого в ACS приводит к следующей ошибке.
ACS90050: No reply address is configured with the relying party principal.
Предпринятые шаги: -> Мы включили CORS в WebAPI.