池重置后会话令牌失效

时间:2013-09-23 15:43:05

标签: c# asp.net asp.net-web-api thinktecture-ident-model

我在使用基本身份验证的ASP.NET Web API中使用Thinktecture IdentityModel。一切正常,我可以在到期时向服务器请求新令牌。我在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 个答案:

答案 0 :(得分:1)

创建SessionTokenConfiguration时,需要为SigningKey属性分配一致的值。这是一个签名密钥,因此它对您的应用程序应该是唯一的,您应该将其视为秘密。