public Task StoreAsync(AuditTrailRecord record, CancellationToken cancellationToken = default)
        {
            // TODO : check for path traversal !
            var path = Path.Combine(_options.Directory, record.ClientId);

            Directory.CreateDirectory(path);
            string id;

            if (record.Token.Payload !.TryGetClaim(JsonWebToken.JwtClaimNames.Jti, out var jti))
            {
                id = jti.GetString() !;
            }
 public bool TryWrite(AuditTrailRecord token)
 {
     return(_channel.Writer.TryWrite(token));
 }
 public bool TryRead(out AuditTrailRecord token)
 {
     return(_channel.Reader.TryRead(out token));
 }