Ich möchte meine Benutzer mit JWT-Tokens authentifizieren. Zu diesem Zweck schreibe ich ein ISigningKeyRepository, das das Rotieren und Erstellen von Signaturschlüsseln in der Datenbank übernimmt. Jetzt möchte ich die JWT-Authentifizierung in IServiceCollection mit
registrieren
Code: Select all
.AddJwtBearer("UserJwtAuthentication", options => {
options.TokenValidationParameters = new TokenValidationParameters {
ValidIssuer = "test",
ValidAudience = "test",
ValidateIssuer = true,
ValidateAudience = true,
ValidateIssuerSigningKey = true,
};
});
Ich muss den Schlüssel mit IssuerSigningKeyResolver übergeben, aber der Schlüssel wird über ISigningKeyRepository aufgelöst, das nicht auf IServiceCollection zugreifen kann. Gibt es keine Möglichkeit, JwtAuthentication zur Laufzeit anzuweisen, den Schlüssel aus ISigningKeyRepository abzurufen?