Skip to content

Commit 9066be3

Browse files
bgavrilMSCopilot
andcommitted
Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent a7a2d5b commit 9066be3

3 files changed

Lines changed: 12 additions & 15 deletions

File tree

src/client/Microsoft.Identity.Client/Instance/Discovery/InstanceDiscoveryManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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 =

src/client/Microsoft.Identity.Client/Instance/Discovery/NetworkMetadataProvider.cs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff 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)

src/client/Microsoft.Identity.Client/Internal/RequestContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)