Skip to content

Commit 414bf24

Browse files
Revert configuration manager to 8.3.1 (#3132)
1 parent 6074003 commit 414bf24

23 files changed

+264
-994
lines changed

build/commonTest.props

+6-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,12 @@
5151
</ItemGroup>
5252

5353
<PropertyGroup Condition="'$(TargetFramework)' == 'net6.0'">
54-
<!-- Suprpess the "Microsoft.Bcl.Memory 9.0.0 doesn't support net6.0 and has not been tested with it" warning -->
54+
<!-- Suprpess the "Microsoft.Bcl.Memory/Microsoft.Extensions.TimeProvider.Testing 9.0.0 doesn't support net6.0 and has not been tested with it" warning -->
55+
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
56+
</PropertyGroup>
57+
58+
<PropertyGroup Condition="'$(TargetFramework)' == 'net462' or '$(TargetFramework)' == 'net472'">
59+
<!-- Suprpess the "Microsoft.Extensions.TimeProvider.Testing 9.0.0 doesn't support net462 and has not been tested with it" warning -->
5560
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
5661
</PropertyGroup>
5762

build/dependenciesTest.props

-2
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,11 @@
2020
<PropertyGroup Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net9.0'))">
2121
<XunitRunnerVisualStudioVersion>3.0.0-pre.49</XunitRunnerVisualStudioVersion>
2222
</PropertyGroup>
23-
2423
<!-- MicrosoftExtensionsTimeProviderTesting 8.x has a 6.0.0 target, 9.x does not. -->
2524
<PropertyGroup Condition="'$(TargetFramework)' != 'net6.0'">
2625
<MicrosoftExtensionsTimeProviderTestingVersion>9.0.0</MicrosoftExtensionsTimeProviderTestingVersion>
2726
</PropertyGroup>
2827
<PropertyGroup Condition="'$(TargetFramework)' == 'net6.0'">
2928
<MicrosoftExtensionsTimeProviderTestingVersion>8.10.0</MicrosoftExtensionsTimeProviderTestingVersion>
3029
</PropertyGroup>
31-
3230
</Project>

src/Microsoft.IdentityModel.JsonWebTokens/Json/JsonWebToken.HeaderClaimSet.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ internal JsonClaimSet CreateHeaderClaimSet(ReadOnlySpan<byte> byteSpan)
8282
break;
8383
else if (!reader.Read())
8484
break;
85-
};
85+
}
8686

8787
return new JsonClaimSet(claims);
8888
}

src/Microsoft.IdentityModel.JsonWebTokens/Json/JsonWebToken.PayloadClaimSet.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ internal JsonClaimSet CreatePayloadClaimSet(ReadOnlySpan<byte> byteSpan)
4747
break;
4848
else if (!reader.Read())
4949
break;
50-
};
50+
}
5151

5252
return new JsonClaimSet(claims);
5353
}

src/Microsoft.IdentityModel.Protocols/AuthenticationProtocolMessage.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ public virtual void SetParameters(NameValueCollection nameValueCollection)
210210
foreach (string key in nameValueCollection.AllKeys)
211211
{
212212
SetParameter(key, nameValueCollection[key]);
213-
};
213+
}
214214
}
215215

216216
/// <summary>

src/Microsoft.IdentityModel.Protocols/Configuration/ConfigurationManager.cs

+29-174
Large diffs are not rendered by default.

src/Microsoft.IdentityModel.Protocols/Configuration/ConfigurationManager_Blocking.cs

-161
This file was deleted.

src/Microsoft.IdentityModel.Protocols/GlobalSuppressions.cs

-5
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,3 @@
1212
#if NET6_0_OR_GREATER
1313
[assembly: SuppressMessage("Globalization", "CA1307:Specify StringComparison", Justification = "Adding StringComparison.Ordinal adds a performance penalty.", Scope = "member", Target = "~M:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.BuildRedirectUrl~System.String")]
1414
#endif
15-
16-
[assembly: SuppressMessage("Design", "CA1031:Do not catch general exception types",
17-
Justification = "Background thread needs to never throw an unhandled exception.",
18-
Scope = "member",
19-
Target = "~M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.UpdateCurrentConfigurationUsingSignals")]
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
Microsoft.IdentityModel.Protocols.ConfigurationManager<T>.TelemetryClient -> Microsoft.IdentityModel.Telemetry.ITelemetryClient
2+
Microsoft.IdentityModel.Protocols.ConfigurationManager<T>.TimeProvider -> System.TimeProvider
23
Microsoft.IdentityModel.Protocols.ConfigurationManager<T>._onBackgroundTaskFinish -> System.Action
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.HttpVersion.get -> System.Version
22
Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.HttpVersion.set -> void
3-
Microsoft.IdentityModel.Protocols.ConfigurationManager<T>.ShutdownBackgroundTask() -> void

src/Microsoft.IdentityModel.Tokens/AppContextSwitches.cs

+4-8
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,14 @@ internal static class AppContextSwitches
7070

7171
internal static bool UseRfcDefinitionOfEpkAndKid => _useRfcDefinitionOfEpkAndKid ??= (AppContext.TryGetSwitch(UseRfcDefinitionOfEpkAndKidSwitch, out bool isEnabled) && isEnabled);
7272

73-
/// <summary>
74-
/// Enabling this switch will cause the configuration manager to block other requests to GetConfigurationAsync if a request is already in progress.
75-
/// The default configuration refresh behavior is if a request is already in progress, the current configuration will be returned until the ongoing request is completed on
76-
/// a background thread.
77-
/// </summary>
73+
7874
internal const string UpdateConfigAsBlockingSwitch = "Switch.Microsoft.IdentityModel.UpdateConfigAsBlocking";
7975

8076
private static bool? _updateConfigAsBlockingCall;
8177

78+
/// <summary>
79+
/// Unused, part of a previous release. This is a friend, so we cannot remove.
80+
/// </summary>
8281
internal static bool UpdateConfigAsBlocking => _updateConfigAsBlockingCall ??= (AppContext.TryGetSwitch(UpdateConfigAsBlockingSwitch, out bool blockingCall) && blockingCall);
8382

8483
/// <summary>
@@ -97,9 +96,6 @@ internal static void ResetAllSwitches()
9796

9897
_useRfcDefinitionOfEpkAndKid = null;
9998
AppContext.SetSwitch(UseRfcDefinitionOfEpkAndKidSwitch, false);
100-
101-
_updateConfigAsBlockingCall = null;
102-
AppContext.SetSwitch(UpdateConfigAsBlockingSwitch, false);
10399
}
104100
}
105101
}

src/Microsoft.IdentityModel.Tokens/EventBasedLRUCache.cs

-1
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,6 @@ internal void WaitForProcessing()
663663
while (!_eventQueue.IsEmpty)
664664
{
665665
}
666-
;
667666
}
668667

669668
#endregion

src/Microsoft.IdentityModel.Tokens/InternalAPI.Unshipped.txt

-3
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,6 @@ static Microsoft.IdentityModel.Tokens.Utility.SerializeAsSingleCommaDelimitedStr
142142
static Microsoft.IdentityModel.Tokens.ValidationError.GetCurrentStackFrame(string filePath = "", int lineNumber = 0, int skipFrames = 1) -> System.Diagnostics.StackFrame
143143
static readonly Microsoft.IdentityModel.Telemetry.TelemetryDataRecorder.ConfigurationManagerCounter -> System.Diagnostics.Metrics.Counter<long>
144144
static readonly Microsoft.IdentityModel.Telemetry.TelemetryDataRecorder.TotalDurationHistogram -> System.Diagnostics.Metrics.Histogram<long>
145-
static readonly Microsoft.IdentityModel.Tokens.IssuerValidationSource.IssuerMatchedConfiguration -> Microsoft.IdentityModel.Tokens.IssuerValidationSource
146-
static readonly Microsoft.IdentityModel.Tokens.IssuerValidationSource.IssuerMatchedValidationParameters -> Microsoft.IdentityModel.Tokens.IssuerValidationSource
147-
static readonly Microsoft.IdentityModel.Tokens.IssuerValidationSource.NotValidated -> Microsoft.IdentityModel.Tokens.IssuerValidationSource
148145
static readonly Microsoft.IdentityModel.Tokens.LoggingEventId.TokenValidationFailed -> Microsoft.Extensions.Logging.EventId
149146
static readonly Microsoft.IdentityModel.Tokens.LoggingEventId.TokenValidationSucceeded -> Microsoft.Extensions.Logging.EventId
150147
static readonly Microsoft.IdentityModel.Telemetry.TelemetryDataRecorder.ConfigurationManagerCounter -> System.Diagnostics.Metrics.Counter<long>

src/Microsoft.IdentityModel.Tokens/Telemetry/ITelemetryClient.cs

+2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ internal void IncrementConfigurationRefreshRequestCounter(
2525
string operationStatus,
2626
Exception exception);
2727

28+
// Unused, this was part of a previous release, since it is a friend,
29+
// it cannot be removed.
2830
internal void LogBackgroundConfigurationRefreshFailure(
2931
string metadataAddress,
3032
Exception exception);

src/Microsoft.IdentityModel.Tokens/Telemetry/TelemetryClient.cs

+4-14
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// Licensed under the MIT License.
33

44
using System;
5-
using System.Collections.Generic;
65
using System.Diagnostics;
76
using Microsoft.IdentityModel.Logging;
87
using Microsoft.IdentityModel.Tokens;
@@ -16,19 +15,13 @@ internal class TelemetryClient : ITelemetryClient
1615
{
1716
public string ClientVer = IdentityModelTelemetryUtil.ClientVer;
1817

19-
private KeyValuePair<string, object> _blockingTagValue = new(
20-
TelemetryConstants.BlockingTypeTag,
21-
AppContextSwitches.UpdateConfigAsBlocking.ToString()
22-
);
23-
2418
public void IncrementConfigurationRefreshRequestCounter(string metadataAddress, string operationStatus)
2519
{
2620
var tagList = new TagList()
2721
{
2822
{ TelemetryConstants.IdentityModelVersionTag, ClientVer },
2923
{ TelemetryConstants.MetadataAddressTag, metadataAddress },
30-
{ TelemetryConstants.OperationStatusTag, operationStatus },
31-
_blockingTagValue
24+
{ TelemetryConstants.OperationStatusTag, operationStatus }
3225
};
3326

3427
TelemetryDataRecorder.IncrementConfigurationRefreshRequestCounter(tagList);
@@ -41,8 +34,7 @@ public void IncrementConfigurationRefreshRequestCounter(string metadataAddress,
4134
{ TelemetryConstants.IdentityModelVersionTag, ClientVer },
4235
{ TelemetryConstants.MetadataAddressTag, metadataAddress },
4336
{ TelemetryConstants.OperationStatusTag, operationStatus },
44-
{ TelemetryConstants.ExceptionTypeTag, exception.GetType().ToString() },
45-
_blockingTagValue
37+
{ TelemetryConstants.ExceptionTypeTag, exception.GetType().ToString() }
4638
};
4739

4840
TelemetryDataRecorder.IncrementConfigurationRefreshRequestCounter(tagList);
@@ -54,7 +46,6 @@ public void LogConfigurationRetrievalDuration(string metadataAddress, TimeSpan o
5446
{
5547
{ TelemetryConstants.IdentityModelVersionTag, ClientVer },
5648
{ TelemetryConstants.MetadataAddressTag, metadataAddress },
57-
_blockingTagValue
5849
};
5950

6051
long durationInMilliseconds = (long)operationDuration.TotalMilliseconds;
@@ -67,8 +58,7 @@ public void LogConfigurationRetrievalDuration(string metadataAddress, TimeSpan o
6758
{
6859
{ TelemetryConstants.IdentityModelVersionTag, ClientVer },
6960
{ TelemetryConstants.MetadataAddressTag, metadataAddress },
70-
{ TelemetryConstants.ExceptionTypeTag, exception.GetType().ToString() },
71-
_blockingTagValue
61+
{ TelemetryConstants.ExceptionTypeTag, exception.GetType().ToString() }
7262
};
7363

7464
long durationInMilliseconds = (long)operationDuration.TotalMilliseconds;
@@ -84,7 +74,7 @@ public void LogBackgroundConfigurationRefreshFailure(
8474
{ TelemetryConstants.IdentityModelVersionTag, ClientVer },
8575
{ TelemetryConstants.MetadataAddressTag, metadataAddress },
8676
{ TelemetryConstants.ExceptionTypeTag, exception.GetType().ToString() },
87-
_blockingTagValue
77+
{ TelemetryConstants.BlockingTypeTag, AppContextSwitches.UpdateConfigAsBlocking.ToString() }
8878
};
8979

9080
TelemetryDataRecorder.IncrementBackgroundConfigurationRefreshFailureCounter(tagList);

src/Microsoft.IdentityModel.Tokens/Telemetry/TelemetryDataRecorder.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ internal class TelemetryDataRecorder
2626
/// <summary>
2727
/// Counter to capture configuration refresh requests to ConfigurationManager.
2828
/// </summary>
29-
internal static readonly Counter<long> ConfigurationManagerCounter = IdentityModelMeter.CreateCounter<long>(IdentityModelConfigurationManagerCounterName, description: IdentityModelConfigurationManagerCounterDescription);
3029
internal const string IdentityModelConfigurationManagerCounterName = "IdentityModelConfigurationManager";
3130
internal const string IdentityModelConfigurationManagerCounterDescription = "Counter capturing configuration manager operations.";
31+
internal static readonly Counter<long> ConfigurationManagerCounter = IdentityModelMeter.CreateCounter<long>(IdentityModelConfigurationManagerCounterName, description: IdentityModelConfigurationManagerCounterDescription);
3232

3333
/// <summary>
3434
/// Counter to capture background refresh failures in the ConfigurationManager.

0 commit comments

Comments
 (0)