出于某种原因,我的RESTful应用程序允许来自Angular客户端的请求在一段时间内使用过期的令牌。
正在生成令牌:
private async Task<string> GenerateJwtToken(ApplicationUser user)
{
var claims = new List<Claim>
{
new Claim(JwtRegisteredClaimNames.Sub, user.Email),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
new Claim(ClaimTypes.NameIdentifier, user.Id)
};
claims.AddRange(await _userManager.GetClaimsAsync(user));
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration.GetSection("SigningKey").Value));
var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
var expires =
DateTime.Now.AddSeconds(10);
//DateTime.Now.AddDays(Convert.ToDouble(_configuration["ExpireDays"]));
var token = new JwtSecurityToken(
issuer: _configuration["Issuer"],
audience: _configuration["Audience"],
claims: claims,
expires: expires,
signingCredentials: creds);
return new JwtSecurityTokenHandler().WriteToken(token);
}
t:2018年9月18日星期二08:53:43 GMT+0300(莫斯科标准时间)
证书-服务。ts:101
现在:2018年9月18日星期二08:53:41 GMT+0300(莫斯科标准时间)
证书-服务ts:102
假
证书-服务。ts:100电话:2018年9月18日星期二08:53:43 GMT+0300
(莫斯科标准时间)
(莫斯科标准时间)
证书-服务ts:102