Я использую поставщика удостоверений asp.net с промежуточным программным обеспечением OWIN с OAuth в своем приложении WebAPI. С помощью шаблона и
https://www.nuget.org/packages/Microsoft.AspNet.Identity.Samples
У меня есть работающий OAuth на моих конечных точках WebAPI. Однако я не вижу, как расширить эту архитектуру, чтобы обеспечить разное время жизни токена для разных запросов.
Например, мой REST API будет использоваться веб-приложением и мобильным приложением. Я хочу, чтобы мобильное приложение имело гораздо более длительный срок службы токена, чем веб-приложение.
В моем файле Startup.Auth.cs я вижу следующую конфигурацию OAuth:
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider<ApplicationUserManager, DirectoryUser, Guid>(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true
});
Есть ли способ переопределить это поведение для каждого запроса токена? Например, я могу указать «/Token» -> 14 дней и «/DeviceToken» -> 60 дней. Это возможно?