Я успешно настроил аутентификацию / авторизацию JWT в моем WebAPI, но есть одна проблема: я могу создать новую учетную запись пользователя, сгенерировать ее токен JWT, а затем удалить учетную запись, пока токен все еще действителен. Как и где я должен проверить, действительно ли существует пользователь, связанный с токеном, перед авторизацией?
Вот мой код для настройки JWT (Startup.cs
):
var secretKey = Configuration.GetValue<string>("SecretKey");
var symmetricKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secretKey));
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters()
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateIssuerSigningKey = true,
ValidIssuer = "localhost",
ValidAudience = "localhost",
IssuerSigningKey = symmetricKey
};
});
Я использую атрибут [Authorize]
на своих контроллерах, а идентификатор пользователя указан в токене JWT.
Заранее спасибо!