Вы можете добавить настраиваемое действие, которое очищает строку тела в событии аудита.
Например:
using Audit.WebApi;
Audit.Core.Configuration.AddCustomAction(ActionType.OnScopeCreated, scope =>
{
var action = scope.GetWebApiAuditAction();
var bodyString = action?.RequestBody?.Value?.ToString();
if (!string.IsNullOrEmpty(bodyString))
{
action.RequestBody.Value = Sanitize(bodyString);
}
});
Использование регулярного выражения:
private string Sanitize(string input)
{
var pattern = @"\s*\""password\"" *: *\"".*\""(,|(?=\s+\}))";
var substitution = @"""password"": """"";
var regex = new Regex(pattern);
return regex.Replace(input, substitution);
}