我正在使用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的访问令牌和刷新令牌实际上可以有不同的到期时间吗?我是否缺少某些设置?还是误解了这个概念?