Я использую аутентификацию JWT:
.AddJwtBearer(options =>
{
// options.SaveToken = false;
// options.RequireHttpsMetadata = false;
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(AuthConfig.GetSecretKey(Configuration)),
ValidateIssuer = false,
ValidateAudience = false,
ValidateLifetime = true,
ClockSkew = TimeSpan.Zero,
};
options.Events = new JwtBearerEvents()
{
OnChallenge = c =>
{
c.HandleResponse();
// TODO: How to know if the token was expired?
return AspNetUtils.WriteJsonAsync(c.Response, new Result<string> { Message = "Unauthenticated.", IsError = true }
, 401);
},
};
})
Аутентификация работает нормально.Для новых требований мне нужно знать, не прошла ли аутентификация из-за истечения срока действия токена JWT.
Обратите внимание, что сбой аутентификации может быть по нескольким причинам .Токен может отсутствовать, подделываться или срок его действия истек.
Есть идеи?Спасибо!