Repository navigation
Complete mTLS E2E parity and combined transport integration #976
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Robbie-Microsoft
wants to merge
128
commits into
dev
Choose a base branch
from
robbie-microsoft-comprehensive-mtls-e2e-parity
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
128 commits
Select commit
Hold shift + click to select a range
dd4f13a
Add SNI certificate support over mTLS Proof-of-Possession
Robbie-Microsoft 81c3eb7
Use SN/I-allow-listed app for mTLS PoP e2e tests
Robbie-Microsoft 224a003
Enumerate key-bound ATs on sign-out and account removal
Robbie-Microsoft 02ccacb
Fail closed on mTLS PoP token_type downgrade; honor verify; lock sess…
Robbie-Microsoft 51adcec
Isolate key/ext-bound ATs unconditionally; normalize verify=None
Robbie-Microsoft ba697e8
Address review comments on mTLS PoP cert/key handling
Robbie-Microsoft 01b676b
Add FIC two-leg exchange over mTLS Proof-of-Possession
Robbie-Microsoft 90d0e67
Fail fast when a FIC leg-2 app is used with a non-mTLS flow
Robbie-Microsoft acd78ed
Reject FIC leg-2 apps on silent flows too
Robbie-Microsoft b79166d
Harden mTLS PoP e2e: prove token at resource + naming matrix
Robbie-Microsoft aaf62c1
Strengthen X509->Bearer e2e: assert cert binding is absent
Robbie-Microsoft fec7d7f
Note _call_graph_with_mtls_pop_token is shared with FIC #939
Robbie-Microsoft b9233c6
Split mtls_pop/Bearer e2e by region (drop regional PoP cell)
Robbie-Microsoft 3ce5d96
Merge SNI mTLS PoP hardening (#938) into FIC branch
Robbie-Microsoft 4ec592f
Merge origin/dev into sni-mtls-pop (resync #938 with base)
Robbie-Microsoft 09e8fb5
Merge resync'd #938 (origin/dev) into FIC branch #939
Robbie-Microsoft f98961f
Add Bearer-over-mTLS: app-level flag + client-credentials path
Robbie-Microsoft 93faa2f
Route OBO/refresh/auth-code through Bearer-over-mTLS when flag is set
Robbie-Microsoft bf79927
Add Bearer-over-mTLS second-call cache-hit regression
Robbie-Microsoft ab024e7
Add Bearer-over-mTLS end-to-end cells
Robbie-Microsoft 92421b0
Document the send_certificate_over_mtls client_credential flag
Robbie-Microsoft 60a9f24
Harden Bearer-over-mTLS 2nd-call cache test with an env-lock assertion
Robbie-Microsoft e226f92
Merge origin/dev into sni-mtls-pop
Robbie-Microsoft 3b45837
Merge updated sni-mtls-pop foundation
Robbie-Microsoft c78bb15
Merge updated sni-mtls-pop foundation
Robbie-Microsoft 6e2c371
Address mTLS review feedback
Robbie-Microsoft 077f11f
Merge origin/dev into sni-mtls-pop
Robbie-Microsoft 3c66b97
Merge updated sni-mtls-pop foundation
Robbie-Microsoft 1e41f24
Address FIC mTLS review feedback
Robbie-Microsoft 6270370
Merge updated sni-mtls-pop foundation
Robbie-Microsoft a3ee807
Fix Bearer-over-mTLS transport enforcement and PFX chains
Robbie-Microsoft 0424c53
Address mTLS PoP review comments
Robbie-Microsoft d3a120c
Add downstream mTLS binding context
Robbie-Microsoft c39abc6
Merge mTLS binding context foundation
Robbie-Microsoft c467604
Merge mTLS binding context foundation
Robbie-Microsoft 9e35a33
Fix mTLS cache isolation and transport compatibility
Robbie-Microsoft cd043fe
Merge remote-tracking branch 'origin/rginsburg/sni-mtls-pop' into rgi…
Robbie-Microsoft d2b9ab2
Align FIC Bearer and PoP result binding
Robbie-Microsoft 5818a5c
Merge mTLS PoP foundation and align Bearer semantics
Robbie-Microsoft 28b0126
Add certificate-aware mTLS HTTP client extensibility
Robbie-Microsoft e574edd
Fix mTLS cache compatibility and transport review findings
Robbie-Microsoft 6f34f2e
Avoid cache persistence reentry and quadratic migration cleanup
Robbie-Microsoft 2de965f
Reject mixed-case raw mTLS token types before cache lookup
Robbie-Microsoft dd07393
Reject redirects in the owned mTLS token transport
Robbie-Microsoft 8d4ecec
Merge PR #938 into Bearer-over-mTLS follow-up
Robbie-Microsoft 8b703d7
Merge PR #938 into FIC mTLS follow-up
Robbie-Microsoft 0109a28
Merge PR #938 into certificate-aware HTTP extensibility
Robbie-Microsoft 18bfd0d
Fix custom mTLS transport response handling and dependency validation
Robbie-Microsoft 30281ce
Fix Bearer-over-mTLS routing, certificate overrides and PFX compatibi…
Robbie-Microsoft b70842b
Address FIC mTLS review feedback
Robbie-Microsoft 820c96f
Align Bearer-over-mTLS E2E failure and coverage semantics
Robbie-Microsoft 3bc3505
Clarify default-only mTLS live E2E coverage
Robbie-Microsoft 84ff3e8
Align FIC E2E cells with shared SDK lab setup
Robbie-Microsoft 1fceb2f
Fail required certificate E2E scenarios on missing lab configuration
Robbie-Microsoft 6c1a0a5
Merge shared mTLS E2E fixture validation from #938
Robbie-Microsoft 751aa0b
Make required E2E fixture checks independent of release environment
Robbie-Microsoft eeb27d0
Merge required certificate E2E coverage from #938
Robbie-Microsoft f67c680
Fix certificate fixture regression when release tag is unset
Robbie-Microsoft b241b3d
Merge shared fail-closed certificate E2E fixtures
Robbie-Microsoft 063325c
Merge shared E2E fixture portability fix
Robbie-Microsoft 2ca4c85
Merge final shared certificate E2E fixture correction from #938
Robbie-Microsoft 51cd6fd
Merge final shared certificate E2E correction from #938
Robbie-Microsoft a821098
Merge approved SNI mTLS PoP head (#938)
Robbie-Microsoft 87b62c2
Merge approved FIC mTLS PoP head (#939)
Robbie-Microsoft b0cf453
Merge approved Bearer-over-mTLS head (#947)
Robbie-Microsoft d9f87b1
Merge approved custom mTLS HTTP head (#974)
Robbie-Microsoft 6b0694c
Share certificate transport across mTLS flows
Robbie-Microsoft f5435b4
Expand required live mTLS E2E parity coverage
Robbie-Microsoft fea35cf
Keep mTLS sample diagnostics safe and pin fixture TLS
Robbie-Microsoft 7f98208
Match live mTLS service representations and rejection codes
Robbie-Microsoft 1208c07
Hide sensitive E2E helper arguments from failure tracebacks
Robbie-Microsoft 0cd290d
Index access-token identities for bounded cache writes
Robbie-Microsoft 9814be5
Move custom mTLS recorder and sample safety coverage to its owning PR
Robbie-Microsoft 3a9c636
Restore default FIC E2E wire and binding guarantees
Robbie-Microsoft a447ee5
Relocate core mTLS parity fixtures and cache scaling regressions
Robbie-Microsoft cd295d4
Document targeted offline FIC guard invocation
Robbie-Microsoft 960195b
Document the custom source inventory and reuse shared privacy guards
Robbie-Microsoft f481380
Relocate default Bearer-over-mTLS E2E coverage
Robbie-Microsoft 5b0a590
Merge redistributed core coverage and cache fix from #938
Robbie-Microsoft 70d4137
Merge shared certificate E2E core into default FIC coverage
Robbie-Microsoft 3e1d350
Keep redistributed base logging coverage single-collected
Robbie-Microsoft 5b0c827
Merge core mTLS parity fixtures and cache fix into Bearer coverage
Robbie-Microsoft b3a8920
Merge redistributed default FIC coverage from #939
Robbie-Microsoft 66fdf17
Merge shared core mTLS parity fixtures and cache regressions from #938
Robbie-Microsoft e91bf51
Merge redistributed default Bearer transport coverage from #947
Robbie-Microsoft 37c5177
Merge redistributed custom HTTP coverage from #974
Robbie-Microsoft 3186192
Close default E2E transports across core and shared client layouts
Robbie-Microsoft 70f7281
Merge shared E2E cleanup layout compatibility from #938
Robbie-Microsoft f7b306d
Merge shared default-transport cleanup correction from #938
Robbie-Microsoft 7692d10
Merge compatible mTLS E2E transport cleanup
Robbie-Microsoft 1876aac
Keep actual-client cleanup regression portable to shared transports
Robbie-Microsoft c203bfe
Keep cleanup regression portable to shared mTLS transports
Robbie-Microsoft c609ef5
Merge cleanup ownership regression coverage from #938
Robbie-Microsoft bdbd7e7
Merge final portable cleanup regressions from #938
Robbie-Microsoft 321d9f6
Merge final portable cleanup guard from #938
Robbie-Microsoft f377fbc
Merge final portable cleanup assertions from #938
Robbie-Microsoft d293040
Merge corrected default Bearer coverage head from #947
Robbie-Microsoft 53bb9ac
Merge corrected default FIC coverage head from #939
Robbie-Microsoft a5ac724
Merge final redistributed FIC owner ancestry from #939
Robbie-Microsoft 6e39ab9
Merge final redistributed custom HTTP owner ancestry from #974
Robbie-Microsoft eb0c10f
Clarify custom HTTP support for combined Bearer-over-mTLS
Robbie-Microsoft 5908a19
Sanitize custom recorder transport failure tracebacks
Robbie-Microsoft 8e6acee
Treat an unspecified certificate consistently across mTLS requests
Robbie-Microsoft 7e14c4f
Sanitize real transport failures in shared mTLS E2E helpers
Robbie-Microsoft 3d32aa0
Merge shared transport privacy guards from #938
Robbie-Microsoft 47740dd
Merge approved shared request privacy guards from #938
Robbie-Microsoft 37d8099
Merge sanitized mTLS transport failure boundaries
Robbie-Microsoft d61ce7c
Merge shared transport-failure privacy fix from #938
Robbie-Microsoft 3e4c806
Merge approved None certificate override correction from #947
Robbie-Microsoft eb2519f
Cover custom Bearer and PoP cert=None cold and cached requests
Robbie-Microsoft 0d6e3c3
Merge final approved Bearer owner privacy ancestry from #947
Robbie-Microsoft 326ac1a
Merge final approved FIC owner privacy ancestry from #939
Robbie-Microsoft 5543468
Sanitize outer custom acquisition tracebacks and guard cert None
Robbie-Microsoft 4ec4536
Reject real Bearer certificate overrides before cache lookup
Robbie-Microsoft 38e7f9d
Merge approved custom privacy guards and protect combined grant bound…
Robbie-Microsoft 2f1adab
Merge final approved Bearer certificate override cache guard from #947
Robbie-Microsoft 6d408b3
Isolate synthetic OBO acquisition from traceback source rendering
Robbie-Microsoft 59eb44a
Merge Python 3.9 source-rendering privacy correction from #974
Robbie-Microsoft 4206e32
Sanitize recorder validation and remove equal legacy token copies
Robbie-Microsoft e072a5c
Merge shared validation privacy and cache removal corrections from #938
Robbie-Microsoft 873937b
Merge recorder validation privacy and duplicate-removal fixes
Robbie-Microsoft bb9c101
Merge final shared recorder privacy and cache removal fixes
Robbie-Microsoft 32c1e84
Merge approved native duplicate removal and summary privacy fixes fro…
Robbie-Microsoft 8f39c0a
Merge final approved Bearer owner cache and summary ancestry from #947
Robbie-Microsoft 7a5756b
Sanitize custom recorder summary validation at the acquisition boundary
Robbie-Microsoft 7b128b2
Merge final approved FIC owner cache and summary ancestry from #939
Robbie-Microsoft 1a8acf1
Merge approved custom summary-validation privacy and cache ancestry f…
Robbie-Microsoft ab34c5b
Wire the shared hidden custom OBO acquisition boundary into combined …
Robbie-Microsoft File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we gate the credentialed E2E stage on a trusted run rather than deliberately failing every fork PR? The PFX retrieval and decoding steps are skipped for forks, but the stage still runs tests that now require that certificate.
I agree missing credentials should fail a trusted E2E run rather than produce misleading green coverage. For forks, though, let's run the offline suite and explicitly skip the credentialed stage. That keeps the coverage signal honest without making fork contributions fail by design.