Токен сеанса становится недействительным после сброса пула
Я использую Thinktecture IdentityModel в ASP.NET Web API с использованием базовой аутентификации. Все отлично работает, могу запросить новый токен на сервер с истечением срока. Я размещаю это приложение в 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. Это ключ подписи, поэтому он должен быть уникальным для вашего приложения, и вы должны рассматривать его как секрет.