OWIN令牌在几分钟后失效

问题描述 投票:0回答:1

我为移动应用解决方案构建了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天后而不是几分钟后过期。

有人可以帮我吗?

c# asp.net-mvc rest oauth owin
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.