C# 使用Jwt在WebAPI2C中滑动过期是如何工作的

C# 使用Jwt在WebAPI2C中滑动过期是如何工作的,c#,asp.net-core,jwt,C#,Asp.net Core,Jwt,我已将此配置添加到JwtConfig文件中 public static void ConfigureJwt(IServiceCollection service) { service .AddAuthentication(options =>{ ... }); .AddCookie(config => { config.SlidingExpiration =

我已将此配置添加到JwtConfig文件中

public static void ConfigureJwt(IServiceCollection service)
{
            service
            .AddAuthentication(options =>{ ... });
            .AddCookie(config =>
            {
                config.SlidingExpiration = true;
                config.ExpireTimeSpan = TimeSpan.FromMinutes(15);
                config.CookieSecure = CookieSecurePolicy.Always;
            })
            .AddJwtBearer(options =>{ ... });
}
创建令牌

    [AllowAnonymous]
    [HttpPost]
    public async Task<IActionResult> GetToken(OpenIdConnectRequest login)
    {
        var token = await _service.AuthAsync(login);
        return Ok(token);
    }
如何检查和刷新令牌?

将在每次使用cookie时移动cookie的过期时间。因此,只有在
ExpireTimeSpan
指定的时间内(在您的情况下为15分钟)未使用cookie时,cookie才会过期。使用此选项可仅在一段时间不活动后自动注销用户

与绝对过期相比,在这种情况下,cookie总是在
ExpireTimeSpan
之后过期,而不管它使用的频率如何

username=theemail@some.com
&password=password
&grant_type=password or refresh_token
&refresh_token=refreshtoken
&resource=http://localhost