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.UpdateContent(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); }; }