Developer 02 a2c74cbdd9 feat: Refaktorierung von ClientEvents zur Verwendung eines Delegaten für öffentliche Schlüsselaktualisierungen
- Ersetzt `Action<string, string, string, ILogger?>` durch den `ClientEvent`-Delegaten für eine bessere Struktur.
- `ClientEvent`-Delegaten mit `AuthClient`-Referenz eingeführt, um öffentliche Schlüssel direkt zu aktualisieren.
2025-03-06 16:48:47 +01:00

18 lines
743 B
C#

using DigitalData.Core.Abstractions.Security;
using Microsoft.Extensions.Logging;
namespace DigitalData.Auth.Client;
public delegate void ClientEvent(AuthClient client, string issuer, string audience, string content, ILogger? logger = null);
public static class ClientEvents
{
public static readonly ClientEvent UpdatePublicKeys = (client, issuer, audience, content, logger) =>
{
if(client.PublicKeys.TryGet(issuer, audience, out var publicKey))
publicKey.Content = content;
else
logger?.LogWarning(
"Failed to update public key: No matching key found. Issuer: {Issuer}, Audience: {Audience}. Ensure the key exists before attempting an update.", issuer, audience);
};
}