File tree Expand file tree Collapse file tree
src/client/Microsoft.Identity.Client Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -205,7 +205,7 @@ private async Task<InstanceDiscoveryMetadataEntry> FetchNetworkMetadataOrFallbac
205205 catch ( Exception e )
206206 {
207207 requestContext . Logger . Warning (
208- $ "[Instance Discovery] Instance Discovery failed. MSAL will continue without instance metadata. \n \r " +
208+ $ "[Instance Discovery] Instance Discovery failed. MSAL will continue without instance metadata. { Environment . NewLine } " +
209209 $ " Exception: { e } ") ;
210210
211211 var fallbackEntry =
Original file line number Diff line number Diff line change @@ -97,21 +97,18 @@ private async Task<InstanceDiscoveryResponse> SendInstanceDiscoveryRequestAsync(
9797 using var linkedCts = CancellationTokenSource . CreateLinkedTokenSource (
9898 requestContext . UserCancellationToken , timeoutCts . Token ) ;
9999
100- CancellationToken originalToken = requestContext . UserCancellationToken ;
101- requestContext . UserCancellationToken = linkedCts . Token ;
102-
103- try
100+ // Use a dedicated RequestContext for instance discovery so that we don't mutate
101+ // the caller's UserCancellationToken when injecting the internal timeout.
102+ var discoveryRequestContext = new RequestContext ( requestContext )
104103 {
105- InstanceDiscoveryResponse discoveryResponse = await client
106- . DiscoverAadInstanceAsync ( instanceDiscoveryEndpoint , requestContext )
107- . ConfigureAwait ( false ) ;
104+ UserCancellationToken = linkedCts . Token
105+ } ;
108106
109- return discoveryResponse ;
110- }
111- finally
112- {
113- requestContext . UserCancellationToken = originalToken ;
114- }
107+ InstanceDiscoveryResponse discoveryResponse = await client
108+ . DiscoverAadInstanceAsync ( instanceDiscoveryEndpoint , discoveryRequestContext )
109+ . ConfigureAwait ( false ) ;
110+
111+ return discoveryResponse ;
115112 }
116113
117114 private Uri ComputeHttpEndpoint ( Uri authority , RequestContext requestContext )
Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ internal class RequestContext
2727 /// </summary>
2828 public ApiEvent ApiEvent { get ; set ; }
2929
30- public CancellationToken UserCancellationToken { get ; set ; }
30+ public CancellationToken UserCancellationToken { get ; }
3131
3232 public X509Certificate2 MtlsCertificate { get ; }
3333
You can’t perform that action at this time.
0 commit comments