使用ASP.Net Web API和OWIN,如何为访问令牌分配一个时间跨度,为刷新令牌分配一个时间跨度?

时间:2019-07-11 17:11:03

标签: asp.net-web-api owin

我正在使用OWIN库在ASP.NET Web API实现中实现令牌身份验证。我看不到OWIN对于访问令牌和刷新令牌有不同的有效期。也许我想念一些东西。我的代码基于this series of tutorials

在Startup.cs中是这样的:

        var OAuthOptions = new OAuthAuthorizationServerOptions
        {
            AllowInsecureHttp = true,
            TokenEndpointPath = new PathString("/api/CreateToken"),
            AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(11),
            Provider = new AuthorizationProvider(),
            RefreshTokenProvider = new RefreshTokenProvider(),
        };

使用该代码,访问令牌和刷新令牌都将在11分钟后过期。如果我将AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(11),注释掉,则它们的expires_in的默认值都是1199或20分钟。

我尝试使用Providers.Properties.ExpiresUtc = DateTime.UtcNow.AddMinutes(11);中分别进行设置,但是OWIN对于访问令牌和刷新令牌似乎都忽略了ExpiresUtc,仅使用Startup.cs设置。

许多消息来源说要设置ExpiresUtc,但我认为它没有任何作用。

OWIN的访问令牌和刷新令牌实际上可以有不同的到期时间吗?我是否缺少某些设置?还是误解了这个概念?

0 个答案:

没有答案