几分钟后 OWIN 令牌无效

OWIN token gets invalid after a couple of minutes

我为移动应用程序解决方案构建了一个 MVC 后端。身份验证是通过 OWIN 和 OAuth 2.0 实现的。对从我的服务器中提取的令牌进行身份验证后,工作正常。但是在我的应用程序中闲置几分钟后,每次呼叫都会收到“401,未经授权”的回复。

public void ConfigureAuth(IAppBuilder app){            
    app.CreatePerOwinContext(ApplicationDbContext.Create);
    app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);

    app.UseCookieAuthentication(new CookieAuthenticationOptions());
    app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

    PublicClientId = "self";
    OAuthOptions = new OAuthAuthorizationServerOptions
    {
        TokenEndpointPath = new PathString("/Token"),
        Provider = new ApplicationOAuthProvider(PublicClientId),
        AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
        AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
        AllowInsecureHttp = true,
        AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Active
    };

    app.UseOAuthBearerTokens(OAuthOptions);
}

我的理解是,令牌应该在 14 天后而不是几分钟后过期。

谁能帮我解决这个问题?

我的 IIS 服务器不是网络场的一部分,但由于某些原因,有必要生成机器密钥并将它们添加到 web.config。之后,问题就消失了。

https://blogs.msdn.microsoft.com/vijaysk/2009/05/13/iis-7-tip-10-you-can-generate-machine-keys-from-the-iis-manager/