Skip to content

Commit e280ce3

Browse files
committed
BSR
1 parent febcea6 commit e280ce3

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

server/src/main/java/invite/api/ManageController.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.springframework.web.bind.annotation.RestController;
3030

3131
import java.util.Collection;
32+
import java.util.HashMap;
3233
import java.util.List;
3334
import java.util.Map;
3435
import java.util.Set;
@@ -161,10 +162,20 @@ public ResponseEntity<Map<String, List<Map<String, Object>>>> applications(@Para
161162
.toList());
162163
return ResponseEntity.ok(Map.of(
163164
"providers", providers,
164-
"provisionings", provisionings
165+
"provisionings", sanitizeProvisionings(provisionings)
165166
));
166167
}
167168

169+
private List<Map<String, Object>> sanitizeProvisionings(List<Map<String, Object>> provisionings) {
170+
List<String> allowedAttributes = List.of("applications", "name:en", "provisioning_type", "name:nl");
171+
return provisionings.stream().map(provisioning -> {
172+
Map<String, Object> sanitized = new HashMap<>();
173+
allowedAttributes.forEach(attr -> sanitized.put(attr, provisioning.get(attr)));
174+
return sanitized;
175+
}
176+
).toList();
177+
}
178+
168179
@GetMapping("/provisionings/{id}")
169180
public ResponseEntity<Boolean> provisionings(@PathVariable("id") String id,
170181
@Parameter(hidden = true) User user) {

server/src/test/java/invite/api/ManageControllerTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ void applications() throws Exception {
4444
.as(new TypeRef<>() {
4545
});
4646
assertEquals(5, result.get("providers").size());
47-
assertEquals(4, result.get("provisionings").size());
47+
List<Map<String, Object>> provisionings = result.get("provisionings");
48+
assertEquals(4, provisionings.size());
49+
provisionings.forEach(provisioning -> assertTrue(provisioning.size() < 5));
4850

4951
List<LoggedRequest> loggedRequestsForSP = findAll(postRequestedFor(urlPathMatching("/manage/api/internal/rawSearch/saml20_sp")));
5052
assertEquals(1, loggedRequestsForSP.size());

0 commit comments

Comments
 (0)