2013-09-23 7 views
1

Я использую Thinktecture IdentityModel в веб-интерфейсе ASP.NET с использованием базовой проверки подлинности. Все работает нормально, я могу запросить новый токен на сервере с истечением срока действия. Я размещаю это приложение в AppHarbor.Ток сеанса становится недействительным после сброса пула

Проблема заключается в том, что AppHarbor периодически сбрасывает пул, потому что если приложение не используется какое-то время, оно переходит в состояние «бездействия».

Это означает, что мой токен, выданный моим приложением с использованием IdentityModel, больше не действует после сброса пула.

Я знаю, что есть некоторые трюки, чтобы сохранить AppHarbor в живых. Я не ищу такого решения. Есть ли способ создания токенов с использованием IdentityModel, которые действительны после сброса пула? Это проблема безопасности?

Это мой код, чтобы установить аутентификацию:

var authentication = new AuthenticationConfiguration 
{ 
    EnableSessionToken = true, 
    RequireSsl = false, 
    SessionToken = new SessionTokenConfiguration() 
    { 
     DefaultTokenLifetime = System.TimeSpan.FromDays(1), 
     EndpointAddress = "/Authenticate" 
    } 
}; 

authentication.AddBasicAuthentication(authService.Authenticate, authService.GetRoles); 
config.MessageHandlers.Add(new AuthenticationHandler(authentication)); 

ответ

1

При создании SessionTokenConfiguration, вам нужно присвоить постоянное значение свойства SigningKey. Это ключ подписи, поэтому он должен быть уникальным для вашего приложения, и вы должны рассматривать его как секрет.

Смежные вопросы