- 
                Notifications
    You must be signed in to change notification settings 
- Fork 378
Mark API as experimental #5551
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
base: main
Are you sure you want to change the base?
Mark API as experimental #5551
Conversation
| public ConfidentialClientApplicationBuilder WithClientAssertion(Func<AssertionRequestOptions, | ||
| CancellationToken, Task<ClientSignedAssertion>> clientSignedAssertionProvider) | ||
| { | ||
| ValidateUseOfExperimentalFeature(); | 
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.
Do we have telemetry that this does not break anyone?
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.
mTLS POP is an internal only feature, so we should not be breaking anyone here.
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.
This doesn't seem to be limited to MTLS though is it?
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.
that's a good point @neha-bhargava and @trwalke. I will let @bgavrilMS know about this.
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.
Approve with comment
Fixes #- Mark API as experimental
Changes proposed in this request
This pull request refactors how client assertion delegates are registered in
ConfidentialClientApplicationBuilderand updates related unit tests to enable experimental features required for these APIs. The main change is the introduction of an internal helper method for setting client assertion providers, which improves code clarity and enforces experimental feature validation. The unit tests are updated to explicitly enable experimental features to ensure correct test coverage.Refactoring of client assertion registration:
WithClientAssertionInternalto encapsulate the logic for setting client assertion providers, and updated all publicWithClientAssertionoverloads to use this method. This also adds validation for the use of experimental features. (src/client/Microsoft.Identity.Client/AppConfig/ConfidentialClientApplicationBuilder.cs) [1] [2] [3] [4]Test updates for experimental feature usage:
.WithExperimentalFeatures(true)when usingWithClientAssertion, ensuring that tests reflect the required usage of experimental APIs. (tests/Microsoft.Identity.Test.Unit/PublicApiTests/ClientAssertionTests.cs,tests/Microsoft.Identity.Test.Unit/PublicApiTests/ConfidentialClientApplicationTests.cs) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]Testing
Have unit, integration tests
Performance impact
none
Documentation