Ошибка федерации.Форма регистрации продолжает появляться для зарегистрированного пользователя после истечения срока действия токена - PullRequest
0 голосов
/ 09 марта 2019

Я успешно реализовал WSFederation на ядре Asp.net согласно этому документу WSf .По истечении времени простоя в 20 минут приложение повторно аутентифицируется, вызывая страницу ADFS.Однако приложение возвращает зарегистрированного пользователя на страницу регистрации.Затем я перезапущу пул приложений или перезапущу веб-сайт, чтобы он снова заработал.Как мне решить проблему? My registration form.Консоль показывает ошибку 401

1 Ответ

0 голосов
/ 11 марта 2019
on start up
services.AddAuthentication()
.AddWsFederation(WsFederationDefaults.AuthenticationScheme, "Login Using Office Account",
options =>
{
   options.MetadataAddress = "https://xxxxxxxxxxxx/FederationMetadata/2007-
  06/FederationMetadata.xml";

    options.Wtrealm = "https://xxxxxxxxxxxx.org/";
}).AddCookie();

        services.ConfigureApplicationCookie(options =>
            {
                options.LoginPath = "/Identity/Account/LogIn";
            }
        );
        services.ConfigureApplicationCookie(options => options.LogoutPath = "/Home/Index");
and on logout

//delete all cookies first
foreach (var key in HttpContext.Request.Cookies.Keys)
 {
    HttpContext.Response.Cookies.Delete(key);
 }

    await _signInManager.SignOutAsync();
    _logger.LogInformation("User logged out.");
     return SignOut(new AuthenticationProperties { RedirectUri = "/Home/Index" }, 
     CookieAuthenticationDefaults.AuthenticationScheme, 
     WsFederationDefaults.AuthenticationScheme);
    enter code here

The solution I found that works were to increase the application pool idle time from default 20 minutes to any minutes of choice. The user can then work and logout of the application without issues. You can also review the code I have and suggest some improvements if needed
...