几分钟后 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。之后,问题就消失了。
我为移动应用程序解决方案构建了一个 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。之后,问题就消失了。