You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge origin/dev into sni-mtls-pop (resync #938 with base)
Bring the SNI mTLS PoP branch current with base dev (which had advanced with
PRs #911, #937, #940, #942), resolving the acquire_token_for_client overlap
between this branch's mtls_proof_of_possession feature and dev's new
forwarded_client_claims parameter (#937).
Conflicts resolved by integrating BOTH sides:
- msal/application.py acquire_token_for_client(): keep both the
mtls_proof_of_possession and forwarded_client_claims parameters, both request
setup blocks, and the fail-closed mtls_pop downgrade/binding_certificate
post-processing (result = _clean_up(...) form).
- msal/application.py _acquire_token_for_client(): keep the is_mtls_pop client
selection AND the client_claims merge into the OAuth claims parameter; the
single popped request_data carries token_type/key_id and client_claims on the
wire.
- tests/test_token_cache.py: union the imports (_key_id_to_str from this branch
plus _parse_claims_or_raise/_merge_claims from dev).
No Task-1 SNI hardening dropped: the mTLS PoP feature, the
test_credential_x509_output_{pop,bearer} matrix, the region split (pop GLOBAL /
bearer REGIONAL westus3, no regional pop cell), the _call_graph helper, and the
downgrade fail-closed all remain. No escape hatch reintroduced.
Verified: py_compile clean; pytest collects 196 tests (e2e matrix + upstream
suites); 17 mtls_pop + forwarded_client_claims unit tests pass; 49 token_cache
tests pass.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
0 commit comments