Wie kann man JWT -Token sofort ungültig machen?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie kann man JWT -Token sofort ungültig machen?

Post by Anonymous »

In meiner Anwendung muss ich einen bestimmten Benutzer blockieren und gleichzeitig wird der Benutzer automatisch angemeldet. Ich versuche den Datensatz zu entfernen, wenn der Benutzer blockiert wird. Aber selbst ich lösche die Aufzeichnung, der JWT bleibt so, bis sie abläuft. Ich muss es irgendwie ungültig machen, wenn der Benutzer blockiert wird.

Code: Select all

public async Task BlockUser(Guid id)
{
var currentUser = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User);

if (currentUser.Id == id.ToString())
{
throw new AlreadyExistException("Unable to block this user", id);
}

var applicationUser = await _userManager.FindByIdAsync(id.ToString()) ?? throw new NotFoundException(nameof(User), id);
applicationUser.RecordState = (RecordState)2;
await _userManager.UpdateAsync(applicationUser);

var existingUserToken = await _techneDbContext.UserTokens.Where(i => i.UserId == applicationUser.Id).FirstOrDefaultAsync();

if (existingUserToken != null)
{
_techneDbContext.UserTokens.Remove(existingUserToken);
await _techneDbContext.SaveChangesAsync();
}

return true;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post