Cors блокирует рабочий процесс saml2

Страница аутентификации Idp заблокирована браузером:

Доступ к XMLHttpRequest по адресу https://login.microsoftonline.com/ ... '(перенаправлен с' https://a.server.b.com/ExternalLogin/Login?d=1560675044037 ') из источника' null 'заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.

Моя установка следующая:

  • Автономное приложение Angular на сайте a.b.com
  • Основное приложение asp.net на a.server.b.com
  • Необходимо интегрировать аутентификацию Saml2
  • Использованиеustainsys.saml2

    [AllowAnonymous]
    [HttpPost("Login")]
    [Produces("application/json")]
    public IActionResult Index(string returnUrl)
    {
        var redirectUrl = Url.Action("Callback", "ExternalLogin", new { ReturnUrl = returnUrl });
        var properties = _signInManager.ConfigureExternalAuthenticationProperties(Saml2Defaults.Scheme, redirectUrl);
    
        return Challenge(properties, Saml2Defaults.Scheme);                        
    }
    

Я ожидаю увидеть окно входа в систему idp, но получаю:

Доступ к XMLHttpRequest по адресу https://login.microsoftonline.com/ ... '(перенаправлен с' https://a.server.b.com/ExternalLogin/Login?d=1560675044037 ') из источника' null 'заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.

Запрос на вход возвращает 303

Я думаю, что понимаю, что проблема в том, что вызов ajax никогда не приведет к перенаправлению, у меня вопрос, учитывая, что наша система является мультитенантным приложением, произойдет ли то же самое с другими Idp или это только проблема Azure AD ?


person Innstinct    schedule 17.06.2019    source источник
comment
Похоже, что JavaScript XHR перенаправляется в AAD, что не сработает. Вам нужно будет применить перенаправление к браузеру, чтобы перенаправить пользователя для входа в систему.   -  person juunas    schedule 17.06.2019