CORS Проблема при выходе - wsfederation - c # веб-приложение - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь добавить ADFS-вход в веб-приложение ac # (это первый раз, поэтому я новичок в этой теме).

Кажется, что вход в систему работает нормально, ноУ меня проблема с выходом.Кажется, я сталкиваюсь с проблемой CORS, когда использую Authentication.SignOut ();

Доступ к XMLHttpRequest в 'adfsdomain ... / adfs / ls /? Wtrealm = xxx & wa = wsignout1.0' (перенаправлено из 'https://xxx/default.aspx') из источника' https://xxx' заблокировано политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: отсутствует заголовок 'Access-Control-Allow-Origin'на запрошенном ресурсе.

Я сам не являюсь системным администратором, поэтому не знаю точных настроек на сервере adfs, но, возможно, ему нужно добавить еще несколько разрешений? Или ячто-то пропустил?

Спасибо.

Пример кода:

Startup.cs

private static string realm = ConfigurationManager.AppSettings["ida:Wtrealm"];
private static string adfsMetadata = ConfigurationManager.AppSettings["ida:ADFSMetadata"];

public void Configuration(IAppBuilder app)
{
    app.UseWsFederationAuthentication(new WsFederationAuthenticationOptions
    {
        Wtrealm = realm,
        MetadataAddress = adfsMetadata,
    });}

Вход

protected void shADFSButton_Click(object sender, EventArgs e)
{
    var properties = new AuthenticationProperties { RedirectUri = Request.QueryString.Get("ReturnUrl") };
    Context.GetOwinContext().Authentication.Challenge(properties, WsFederationAuthenticationDefaults.AuthenticationType);
}

Выйти

protected void signOutButton_Click(object sender, EventArgs e)
{
    Context.GetOwinContext().Authentication.SignOut();
}
...