Аутентификация AD FS 2.0 и AJAX

У меня есть веб-сайт, который пытается вызвать действие контроллера MVC на другом веб-сайте. Оба сайта настроены как доверенные лица в AD FS 2.0. Все аутентифицируется и работает нормально при открытии страниц в окне браузера между двумя сайтами. Однако при попытке вызвать действие контроллера из JavaScript с помощью метода jQuery AJAX всегда происходит сбой. Вот фрагмент кода того, что я пытаюсь сделать...

$.ajax({
  url: "relyingPartySite/Controller/Action",
  data: { foobar },
  dataType: "json",
  type: "POST",
  async: false,
  cache: false,
  success: function (data) {
    // do something here
  },
  error: function (data, status) {
    alert(status);
  }
});

Проблема в том, что AD FS использует JavaScript для отправки скрытой html-формы доверяющей стороне. При трассировке с помощью Fiddler я вижу, как он попадает на сайт AD FS и возвращает эту html-форму, которая должна отправлять и перенаправлять на действие контроллера, прошедшее аутентификацию. Проблема в том, что эта форма возвращается как результат ajax-запроса и, очевидно, потерпит неудачу с ошибкой парсера, поскольку ajax-запрос ожидает json от действия контроллера. Кажется, что это обычный сценарий, так что каков правильный способ взаимодействия с AD FS из AJAX и обработки этого перенаправления?

15
задан hexacyanide 20 August 2013 в 15:57
поделиться