Токен аутентификации JWT — почему его необходимо обновить до истечения срока действия?

#c# #jwt #webapi

Вопрос:

Я пытаюсь создать решение webapi с аутентификацией токенов JWT.

В WebApiConfig я добавляю следующие строки в метод регистрации, чтобы webapi использовал только JWT:

 config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
 

Вот моя декларация OAuthOptions от Startup.Auth.cs

 OAuthOptions = new OAuthAuthorizationServerOptions
{
     TokenEndpointPath = new PathString("/Token"),
     Provider = new ApplicationOAuthProvider(PublicClientId),
     AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
     AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
     // In production mode set AllowInsecureHttp = false
     AllowInsecureHttp = true
};

// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
 

Как я понимаю, теперь я должен иметь возможность использовать свои токены в течение двух недель до истечения срока их действия.
Однако это не тот случай. Когда я работаю со своим API, примерно через час мне снова приходится обновлять его, потому что мои запросы начинают отскакивать с 401:

 {
  "Message": "Authorization has been denied for this request."
}
 

Похоже, он ведет себя немного как обычный сеанс, которого я бы хотел избежать. Есть ли какой-нибудь способ убедиться, что я смогу вернуться со своим токеном через неделю и обработать запросы?