Я использую веб-API .net core 3.1, в моем случае, когда пользователь выходит из системы, я помещаю токен JWT этого пользователя в черный список, который хранится в базе данных, чтобы токен JWT не мог быть доступен в системе, даже если он имеет не истек.
В настоящее время я помещаю функцию «CheckJWTTokenInBlacklist» в каждую функцию API, как показано ниже.
[Authorize]
[HttpPost]
public ActionResult Add(OrderRequest req)
{
if (ModelState.IsValid)
{
string token = HttpContext.Response.Headers["Authorization"];
if (_coffeeToken.CheckJWTTokenInBlacklist(token) == false) //Check whether the token is blacklisted.
{
//token is not in blacklist
}
else
{
// token is in blacklist
}
}
return BadRequest(ModelState);
}
Я думаю, что это не лучший способ, так как каждому API нужны токены JWT, я должен установить вышеуказанную функцию проверки. Есть ли лучшие способы? Спасибо !!