- 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.
18 lines
743 B
C#
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);
|
|
};
|
|
} |