2016-04-12 9 views
1

Мы используем промежуточное ПО Cookie и WsFederation для аутентификации с сервера ADFS. Все работает нормально, за исключением того, что cookie cookie всегда заканчивается сессией.Как избежать cookie с истекшим сроком действия для проверки подлинности федерации Owin?

Когда пользователь закрывает и открывает браузер, им необходимо переустановить.

 app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      AuthenticationType = WsFederationAuthenticationDefaults.AuthenticationType, 
      CookieDomain = "...some domain..." 
     }); 

     app.UseWsFederationAuthentication(new WsFederationAuthenticationOptions 
     { 
      MetadataAddress = ConfigurationManager.AppSettings[AdfsMetadataAddress], 
      Wtrealm = ConfigurationManager.AppSettings[AppWtRealm], 
      UseTokenLifetime = false 
     }); 

Что нам нужно делать, чтобы cookie сохранялся в браузере?

Большое спасибо заранее ~

ответ

1

Добавить CookieAuthenticationProvider, где вы можете установить срок действия

app.UseCookieAuthentication(new CookieAuthenticationOptions 
    { 
     AuthenticationType = WsFederationAuthenticationDefaults.AuthenticationType, 
     CookieDomain = "...some domain...", 
     Provider = new CookieAuthenticationProvider 
     { 
      OnResponseSignIn = context => 
      { 
       context.Properties.ExpiresUtc = DateTimeOffset.UtcNow.AddDays(30); 
       context.Properties.IsPersistent = true; 
      } 
     } 
    }); 
+0

Я не думаю, что CookieDomain строго необходимо. – Ruben