Skip to content

Commit 3f48910

Browse files
committed
allow customizing sanitization keys
1 parent 8533e32 commit 3f48910

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

src/main/java/com/box/sdk/BoxSensitiveDataSanitizer.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,28 @@
66
import okhttp3.Headers;
77
import org.jetbrains.annotations.NotNull;
88

9-
final class BoxSensitiveDataSanitizer {
9+
/**
10+
* Class used to sanitize sensitive data from payload.
11+
*/
12+
public final class BoxSensitiveDataSanitizer {
1013
private static final Set<String> SENSITIVE_KEYS = new HashSet<>(Arrays.asList("authorization", "access_token",
1114
"refresh_token", "subject_token", "token", "client_id", "client_secret", "code", "shared_link", "download_url",
1215
"jwt_private_key", "jwt_private_key_passphrase", "password"));
1316

1417
private BoxSensitiveDataSanitizer() {
1518
}
1619

20+
/**
21+
* Add key that should be sanitized
22+
*
23+
* @param key key to be sanitized
24+
*/
25+
public static void addKeyToSanitize(String key) {
26+
SENSITIVE_KEYS.add(key);
27+
}
28+
1729
@NotNull
18-
public static Headers sanitizeHeaders(Headers originalHeaders) {
30+
static Headers sanitizeHeaders(Headers originalHeaders) {
1931
Headers.Builder sanitizedHeadersBuilder = originalHeaders.newBuilder();
2032

2133
for (String originalHeaderName : originalHeaders.names()) {

src/test/java/com/box/sdk/BoxSensitiveDataSanitizerTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,17 @@ public void returnEmptyHeadersWhenEmptyHeadersPassed() {
7272

7373
assertThat(sanitizedHeaders.size(), is(0));
7474
}
75+
76+
@Test
77+
public void sanitizeAddedKeys() {
78+
Map<String, String> headersMap = new HashMap<>();
79+
headersMap.put("x-auth", "token");
80+
81+
Headers headers = Headers.of(headersMap);
82+
BoxSensitiveDataSanitizer.addKeyToSanitize("x-auth");
83+
Headers sanitizedHeaders = BoxSensitiveDataSanitizer.sanitizeHeaders(headers);
84+
85+
assertThat(sanitizedHeaders.size(), is(1));
86+
assertThat(sanitizedHeaders.get("x-auth"), is("[REDACTED]"));
87+
}
7588
}

0 commit comments

Comments
 (0)