Skip to content

Commit 159eadc

Browse files
committed
Enforced sensitive masking of logs
1 parent c52ab56 commit 159eadc

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

lib/AuthenticationSDK/logging/sensitive_logging.rb

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'logger'
2+
require 'json'
23

34
class SensitiveTag
45
attr_accessor :tagName, :pattern, :replacement, :disableMask
@@ -72,10 +73,23 @@ def initialize
7273
end
7374
end
7475

76+
def maskSensitiveDataInJson(input)
77+
parts = input.split(":", 2)
78+
json_data = JSON.parse(parts[1].strip)
79+
encrypted_request = json_data["encryptedRequest"]
80+
json_data["encryptedRequest"] = 'X' * encrypted_request.length
81+
return parts[0] + ":" + JSON.generate(json_data)
82+
end
83+
7584
def call(severity, time, progname, msg)
7685
maskedMessage = maskSensitiveString(msg)
7786
ccMasked = maskCreditCards(maskedMessage)
78-
return formatLogEntry(severity, time, progname, ccMasked)
87+
if ccMasked.include?("encryptedRequest")
88+
mleMasked = maskSensitiveDataInJson(ccMasked)
89+
return formatLogEntry(severity, time, progname, mleMasked)
90+
else
91+
return formatLogEntry(severity, time, progname, ccMasked)
92+
end
7993
end
8094

8195
def maskCreditCards(input)

0 commit comments

Comments
 (0)