Commit 5b3aa4c
fix: Respect the next link in UIF Entra backend requests (#859)
* fix: respect next link in uif entra backend requests
* fix: bound Entra group pagination, keep all memberships, add HTTP timeouts
Follow-ups to the @odata.nextLink pagination fix in #859:
- Add a 60s request / 15s connect timeout to every user-info-fetcher
outbound HTTP backend (Keycloak, Entra, XFSC AAS) via a shared
utils::http::client_builder(); reqwest otherwise waits indefinitely.
- Keep every directory membership by requesting /memberOf instead of
restricting to microsoft.graph.group, so directory roles and
administrative units are still returned.
- Cap @odata.nextLink following at 100 pages as a backstop against a
cyclic or runaway link, warning if the group list may be truncated.
- Bump the yanked spin 0.9.8 to 0.9.9 (matching #857, which only landed
on release-26.7) so cargo-deny passes, and regenerate Cargo.nix for
the new wiremock dev-dependency.
* fix: address review feedback
- Restructure the Entra group pagination loop guard-first: check the page
cap and warn/break before doing the request, per review.
- Reword the changelog entry for the pagination fix.
---------
Co-authored-by: Lars Francke <jujutsu@lars-francke.de>1 parent b581c1d commit 5b3aa4c
9 files changed
Lines changed: 539 additions & 25 deletions
File tree
- rust/user-info-fetcher
- src
- backend
- utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
25 | 33 | | |
26 | 34 | | |
27 | 35 | | |
| |||
38 | 46 | | |
39 | 47 | | |
40 | 48 | | |
| 49 | + | |
41 | 50 | | |
42 | 51 | | |
43 | 52 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments