Ich verwende IdentityServer Version 4, um die Autorisierung für meine ASP.NET-Anwendung mithilfe des Ressourceneignerflusses zu verarbeiten.IdentityServer Die IsActiveAsync-Methode wird nicht im Profildienst aufgerufen
Ich habe die IdentityServer4.Core.Services.IProfileService
Schnittstelle implementiert, die zwei Methoden hat, GetProfileDataAsync
und IsActiveAsync
.
Wenn eine Anforderung an den Token-Endpunkt gesendet wird, wird GetProfileDataAsync
wie erwartet aufgerufen. Wir verwenden diese Methode, um unsere Ansprüche zu stellen.
Die IsActiveAsync
Methode wird jedoch nicht aufgerufen. Ich möchte diese Methode implementieren, um festzustellen, ob der Benutzer in unserer Datenbank aktiv ist. An welchem Punkt soll diese Methode aufgerufen werden?
Der Kommentar in der IdentityServer-Quelle (siehe unten) schlägt vor, dass er während der Tokenausgabe aufgerufen werden sollte, aber die Methode wird nicht aufgerufen, wenn ein Token angefordert wird. Ich vermute, dass ich etwas vermisse. Jede Hilfe wäre willkommen.
// Summary:
// This method gets called whenever identity server needs to determine
// if the user is valid or active (e.g. if the user's account has been
// deactivated since they logged in). (e.g. during token issuance or
// validation).
Task IsActiveAsync(IsActiveContext context);