diff --git a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ClaimsIdentity.cs b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ClaimsIdentity.cs
index e75350555b..1176bd7617 100644
--- a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ClaimsIdentity.cs
+++ b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ClaimsIdentity.cs
@@ -5,7 +5,7 @@
using System.Security.Claims;
using Microsoft.IdentityModel.Tokens;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
using System.Collections.Generic;
#nullable enable
diff --git a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.DecryptToken.cs b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.DecryptToken.cs
index bf63788ca0..c66412f2be 100644
--- a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.DecryptToken.cs
+++ b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.DecryptToken.cs
@@ -7,7 +7,7 @@
using System.Text;
using Microsoft.IdentityModel.Logging;
using Microsoft.IdentityModel.Tokens;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
using TokenLogMessages = Microsoft.IdentityModel.Tokens.LogMessages;
#nullable enable
diff --git a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ReadToken.cs b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ReadToken.cs
index 6c0cd42f4f..c06d98fd05 100644
--- a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ReadToken.cs
+++ b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ReadToken.cs
@@ -3,7 +3,7 @@
using System;
using Microsoft.IdentityModel.Tokens;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.JsonWebTokens
diff --git a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ValidateSignature.cs b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ValidateSignature.cs
index 57c577230f..a4c3a03363 100644
--- a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ValidateSignature.cs
+++ b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ValidateSignature.cs
@@ -6,7 +6,7 @@
using System.Text;
using Microsoft.IdentityModel.Logging;
using Microsoft.IdentityModel.Tokens;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
using TokenLogMessages = Microsoft.IdentityModel.Tokens.LogMessages;
#nullable enable
diff --git a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ValidateToken.Internal.cs b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ValidateToken.Internal.cs
index a8af1ab2d8..2485eee97f 100644
--- a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ValidateToken.Internal.cs
+++ b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JsonWebTokenHandler.ValidateToken.Internal.cs
@@ -7,16 +7,15 @@
using System.Threading.Tasks;
using Microsoft.IdentityModel.Logging;
using Microsoft.IdentityModel.Tokens;
-using Microsoft.IdentityModel.Tokens.Experimental;
using TokenLogMessages = Microsoft.IdentityModel.Tokens.LogMessages;
#nullable enable
namespace Microsoft.IdentityModel.JsonWebTokens
{
- public partial class JsonWebTokenHandler : TokenHandler, IResultBasedValidation
+ public partial class JsonWebTokenHandler : TokenHandler
{
///
- internal override async Task> ValidateTokenAsync(
+ public override async Task> ValidateTokenAsync(
string token,
ValidationParameters validationParameters,
CallContext callContext,
@@ -67,7 +66,7 @@ internal override async Task>
}
///
- internal override async Task> ValidateTokenAsync(
+ public override async Task> ValidateTokenAsync(
SecurityToken token,
ValidationParameters validationParameters,
CallContext callContext,
@@ -370,58 +369,6 @@ await Validators.ValidateIssuerInternalAsync(
return currentConfiguration;
}
-
- #region Explicit Interface Implementations
- async Task> IResultBasedValidation.ValidateTokenAsync(
- string token,
- ValidationParameters validationParameters,
- CallContext callContext)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- default).ConfigureAwait(false);
- }
-
- async Task> IResultBasedValidation.ValidateTokenAsync(
- string token,
- ValidationParameters validationParameters,
- CallContext callContext,
- CancellationToken cancellationToken)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- cancellationToken).ConfigureAwait(false);
- }
-
- async Task> IResultBasedValidation.ValidateTokenAsync(
- SecurityToken token,
- ValidationParameters validationParameters,
- CallContext callContext)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- default).ConfigureAwait(false);
- }
-
- async Task> IResultBasedValidation.ValidateTokenAsync(
- SecurityToken token,
- ValidationParameters validationParameters,
- CallContext callContext,
- CancellationToken cancellationToken)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- cancellationToken).ConfigureAwait(false);
- }
- #endregion
}
}
#nullable restore
diff --git a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JwtTokenUtilities.DecryptTokenResult.cs b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JwtTokenUtilities.DecryptTokenResult.cs
index 90c123b281..ba067c28f7 100644
--- a/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JwtTokenUtilities.DecryptTokenResult.cs
+++ b/src/Microsoft.IdentityModel.JsonWebTokens/Experimental/JwtTokenUtilities.DecryptTokenResult.cs
@@ -5,7 +5,7 @@
using System.Text;
using Microsoft.IdentityModel.Logging;
using Microsoft.IdentityModel.Tokens;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
using TokenLogMessages = Microsoft.IdentityModel.Tokens.LogMessages;
namespace Microsoft.IdentityModel.JsonWebTokens
diff --git a/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ClaimsIdentity.cs b/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ClaimsIdentity.cs
index 4ef036e848..777a558470 100644
--- a/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ClaimsIdentity.cs
+++ b/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ClaimsIdentity.cs
@@ -5,7 +5,7 @@
using System.Linq;
using System.Security.Claims;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens.Saml
diff --git a/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ReadToken.cs b/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ReadToken.cs
index 219c64d11f..f0ede71bb9 100644
--- a/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ReadToken.cs
+++ b/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ReadToken.cs
@@ -5,7 +5,7 @@
using System.Text;
using System.Xml;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
using TokenLogMessages = Microsoft.IdentityModel.Tokens.LogMessages;
namespace Microsoft.IdentityModel.Tokens.Saml
diff --git a/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ValidateToken.Internal.cs b/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ValidateToken.Internal.cs
index 1d2620f7a9..84eebaf925 100644
--- a/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ValidateToken.Internal.cs
+++ b/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlSecurityTokenHandler.ValidateToken.Internal.cs
@@ -5,7 +5,7 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens.Saml
@@ -13,10 +13,10 @@ namespace Microsoft.IdentityModel.Tokens.Saml
///
/// A designed for creating and validating Saml Tokens. See: http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
///
- public partial class SamlSecurityTokenHandler : SecurityTokenHandler, IResultBasedValidation
+ public partial class SamlSecurityTokenHandler : SecurityTokenHandler
{
///
- internal override async Task> ValidateTokenAsync(
+ public override async Task> ValidateTokenAsync(
string token,
ValidationParameters validationParameters,
CallContext callContext,
@@ -44,7 +44,7 @@ internal override async Task>
}
///
- internal override async Task> ValidateTokenAsync(
+ public override async Task> ValidateTokenAsync(
SecurityToken securityToken,
ValidationParameters validationParameters,
CallContext callContext,
@@ -194,58 +194,6 @@ await Validators.ValidateIssuerInternalAsync(
ValidatedSignatureKey = signatureResult.Result
};
}
-
- #region Explicit Interface Implementations
- async Task> IResultBasedValidation.ValidateTokenAsync(
- string token,
- ValidationParameters validationParameters,
- CallContext callContext)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- default).ConfigureAwait(false);
- }
-
- async Task> IResultBasedValidation.ValidateTokenAsync(
- string token,
- ValidationParameters validationParameters,
- CallContext callContext,
- CancellationToken cancellationToken)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- cancellationToken).ConfigureAwait(false);
- }
-
- async Task> IResultBasedValidation.ValidateTokenAsync(
- SecurityToken token,
- ValidationParameters validationParameters,
- CallContext callContext)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- default).ConfigureAwait(false);
- }
-
- async Task> IResultBasedValidation.ValidateTokenAsync(
- SecurityToken token,
- ValidationParameters validationParameters,
- CallContext callContext,
- CancellationToken cancellationToken)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- cancellationToken).ConfigureAwait(false);
- }
- #endregion
}
}
#nullable restore
diff --git a/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlTokenUtilities.Experimental.cs b/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlTokenUtilities.Experimental.cs
index 59d9596f11..d286b657a7 100644
--- a/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlTokenUtilities.Experimental.cs
+++ b/src/Microsoft.IdentityModel.Tokens.Saml/Saml/Experimental/SamlTokenUtilities.Experimental.cs
@@ -7,7 +7,7 @@
using System.IO;
using System.Text;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
using Microsoft.IdentityModel.Xml;
namespace Microsoft.IdentityModel.Tokens.Saml
diff --git a/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ClaimsIdentity.cs b/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ClaimsIdentity.cs
index 5d80e91de6..a133502ead 100644
--- a/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ClaimsIdentity.cs
+++ b/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ClaimsIdentity.cs
@@ -3,7 +3,7 @@
using System.Security.Claims;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens.Saml2
diff --git a/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ReadToken.cs b/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ReadToken.cs
index 64b06675f3..6aaff5ae82 100644
--- a/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ReadToken.cs
+++ b/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ReadToken.cs
@@ -5,7 +5,7 @@
using System.Text;
using System.Xml;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
using TokenLogMessages = Microsoft.IdentityModel.Tokens.LogMessages;
namespace Microsoft.IdentityModel.Tokens.Saml2
diff --git a/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ValidateToken.Internal.cs b/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ValidateToken.Internal.cs
index 66d6dd9a6f..0d9721eb4b 100644
--- a/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ValidateToken.Internal.cs
+++ b/src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Experimental/Saml2SecurityTokenHandler.ValidateToken.Internal.cs
@@ -5,7 +5,7 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
using Microsoft.IdentityModel.Tokens.Saml;
#nullable enable
@@ -14,10 +14,10 @@ namespace Microsoft.IdentityModel.Tokens.Saml2
///
/// A designed for creating and validating Saml2 Tokens. See: http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
///
- public partial class Saml2SecurityTokenHandler : SecurityTokenHandler, IResultBasedValidation
+ public partial class Saml2SecurityTokenHandler : SecurityTokenHandler
{
///
- internal override async Task> ValidateTokenAsync(
+ public override async Task> ValidateTokenAsync(
string token,
ValidationParameters validationParameters,
CallContext callContext,
@@ -37,7 +37,7 @@ internal override async Task>
}
///
- internal async override Task> ValidateTokenAsync(
+ public override async Task> ValidateTokenAsync(
SecurityToken securityToken,
ValidationParameters validationParameters,
CallContext callContext,
@@ -217,58 +217,6 @@ await Validators.ValidateIssuerInternalAsync(
{
return null;
}
-
- #region Explicit Interface Implementations
- async Task> IResultBasedValidation.ValidateTokenAsync(
- string token,
- ValidationParameters validationParameters,
- CallContext callContext)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- default).ConfigureAwait(false);
- }
-
- async Task> IResultBasedValidation.ValidateTokenAsync(
- string token,
- ValidationParameters validationParameters,
- CallContext callContext,
- CancellationToken cancellationToken)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- cancellationToken).ConfigureAwait(false);
- }
-
- async Task> IResultBasedValidation.ValidateTokenAsync(
- SecurityToken token,
- ValidationParameters validationParameters,
- CallContext callContext)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- default).ConfigureAwait(false);
- }
-
- async Task> IResultBasedValidation.ValidateTokenAsync(
- SecurityToken token,
- ValidationParameters validationParameters,
- CallContext callContext,
- CancellationToken cancellationToken)
- {
- return await ValidateTokenAsync(
- token,
- validationParameters,
- callContext,
- cancellationToken).ConfigureAwait(false);
- }
- #endregion
}
}
#nullable restore
diff --git a/src/Microsoft.IdentityModel.Tokens/Delegates.cs b/src/Microsoft.IdentityModel.Tokens/Delegates.cs
index 42cc1d210b..fd5d8ef830 100644
--- a/src/Microsoft.IdentityModel.Tokens/Delegates.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Delegates.cs
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using System.Text.Json;
+using System.Threading;
using System.Threading.Tasks;
namespace Microsoft.IdentityModel.Tokens
@@ -194,4 +195,165 @@ namespace Microsoft.IdentityModel.Tokens
/// The claim value that was read and parsed from the reader.
/// True, if the claim value was read successfully; false otherwise.
public delegate bool TryReadJwtClaim(ref Utf8JsonReader reader, JwtSegmentType jwtSegmentType, string claimName, out object claimValue);
+
+#nullable enable
+ ///
+ /// Definition for delegate that will validate a given algorithm for a .
+ ///
+ /// The algorithm to be validated.
+ /// The being validated.
+ /// required for validation.
+ ///
+ /// A that contains the results of validating the algorithm.
+ /// This delegate is not expected to throw.
+ public delegate ValidationResult AlgorithmValidationDelegate(
+ string? algorithm,
+ SecurityToken securityToken,
+ ValidationParameters validationParameters,
+ CallContext callContext);
+
+ ///
+ /// Definition for delegate that will validate the audiences value in a token.
+ ///
+ /// The audiences found in the .
+ /// The that is being validated.
+ /// The to be used for validating the token.
+ ///
+ /// A that contains the results of validating the issuer.
+ /// This delegate is not expected to throw.
+ public delegate ValidationResult AudienceValidationDelegate(
+ IList tokenAudiences,
+ SecurityToken? securityToken,
+ ValidationParameters validationParameters,
+ CallContext callContext);
+
+ ///
+ /// Definition for delegate that will validate the issuer value in a token.
+ ///
+ /// The issuer to validate.
+ /// The that is being validated.
+ /// The to be used for validating the token.
+ ///
+ ///
+ /// A that contains the results of validating the issuer.
+ /// This delegate is not expected to throw.
+ public delegate Task> IssuerValidationDelegateAsync(
+ string issuer,
+ SecurityToken securityToken,
+ ValidationParameters validationParameters,
+ CallContext callContext,
+ CancellationToken cancellationToken);
+
+ ///
+ /// Definition for delegate that will validate the that signed a .
+ ///
+ /// The security key to validate.
+ /// The that is being validated.
+ /// The to be used for validating the token.
+ /// The to be used for logging.
+ /// A that contains the results of validating the issuer.
+ /// This delegate is not expected to throw.
+ public delegate ValidationResult SignatureKeyValidationDelegate(
+ SecurityKey signingKey,
+ SecurityToken securityToken,
+ ValidationParameters validationParameters,
+ CallContext callContext);
+
+ ///
+ /// Definition for delegate that will validate the lifetime of a .
+ ///
+ /// The 'notBefore' time found in the .
+ /// The 'expiration' time found in the .
+ /// The that is being validated.
+ /// The to be used for validating the token.
+ /// The that contains call information.
+ /// A that contains the results of validating the issuer.
+ /// This delegate is not expected to throw.
+ public delegate ValidationResult LifetimeValidationDelegate(
+ DateTime? notBefore,
+ DateTime? expires,
+ SecurityToken? securityToken,
+ ValidationParameters validationParameters,
+ CallContext callContext);
+
+ ///
+ /// Definition for delegate that will validate that a has not been replayed.
+ ///
+ /// When does the expire..
+ /// The security token that is being validated.
+ /// The to be used for validating the token.
+ /// The that contains call information.
+ /// A that contains the results of validating the token.
+ /// This delegate is not expected to throw.
+ public delegate ValidationResult TokenReplayValidationDelegate(
+ DateTime? expirationTime,
+ string securityToken,
+ ValidationParameters validationParameters,
+ CallContext callContext);
+
+ ///
+ /// Definition for delegate that will validate the token type of a token.
+ ///
+ /// The token type or null if it couldn't be resolved (e.g from the 'typ' header for a JWT).
+ /// The that is being validated.
+ /// required for validation.
+ /// The that contains call information.
+ /// A that contains the results of validating the token type.
+ /// An EXACT match is required. (case sensitive) is used for comparing against .
+ public delegate ValidationResult TokenTypeValidationDelegate(
+ string? type,
+ SecurityToken? securityToken,
+ ValidationParameters validationParameters,
+ CallContext callContext);
+
+ ///
+ /// Resolves the signing key used for validating a token's signature.
+ ///
+ /// The string representation of the token being validated.
+ /// The being validated, which may be null.
+ /// The key identifier, which may be null.
+ /// The to be used for validating the token.
+ /// The to be used for validating the token.
+ /// The used for logging.
+ /// The used to validate the signature.
+ /// If both and are set, takes priority.
+ public delegate SecurityKey? SignatureKeyResolverDelegate(
+ string token,
+ SecurityToken? securityToken,
+ string? kid,
+ ValidationParameters validationParameters,
+ BaseConfiguration? configuration,
+ CallContext? callContext);
+
+ ///
+ /// Resolves the decryption key for the security token.
+ ///
+ /// The string representation of the token to be decrypted.
+ /// The to be decrypted, which is null by default.
+ /// The key identifier, which may be null.
+ /// The to be used for validating the token.
+ /// The to be used for logging.
+ /// The used to decrypt the token.
+ public delegate IList DecryptionKeyResolverDelegate(
+ string token,
+ SecurityToken securityToken,
+ string kid,
+ ValidationParameters validationParameters,
+ CallContext? callContext);
+
+ ///
+ /// Validates the signature of the security token.
+ ///
+ /// The with a signature.
+ /// The to be used for validating the token.
+ /// The to be used for validating the token.
+ /// The to be used for logging.
+ /// This method is not expected to throw.
+ /// The validated .
+ public delegate ValidationResult SignatureValidationDelegate(
+ SecurityToken token,
+ ValidationParameters validationParameters,
+ BaseConfiguration? configuration,
+ CallContext callContext);
+#nullable restore
}
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenDecryptionFailedException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenDecryptionFailedException.cs
index 5c68d1aad2..1a4c0458a3 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenDecryptionFailedException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenDecryptionFailedException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenException.cs
index 5aec7c939d..04a14c813f 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenException.cs
@@ -4,7 +4,7 @@
using System;
using System.Runtime.Serialization;
using System.Diagnostics;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#if !NET8_0_OR_GREATER
using System.Text;
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidAlgorithmException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidAlgorithmException.cs
index d3b3378e40..5588cce954 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidAlgorithmException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidAlgorithmException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidAudienceException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidAudienceException.cs
index 4a58dd584f..ad3bddd229 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidAudienceException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidAudienceException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidIssuerException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidIssuerException.cs
index 61d4c0f9e6..b3cd92e790 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidIssuerException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidIssuerException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidLifetimeException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidLifetimeException.cs
index 6683962074..5d60981473 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidLifetimeException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidLifetimeException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidOperationException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidOperationException.cs
index 8fa5489e61..8741b3b925 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidOperationException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidOperationException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidSignatureException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidSignatureException.cs
index 3090638477..64916cefda 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidSignatureException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidSignatureException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidSigningKeyException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidSigningKeyException.cs
index ff16af74a5..f06cdb8fbf 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidSigningKeyException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidSigningKeyException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidTypeException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidTypeException.cs
index 1bdadba89b..bb0b5eec04 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidTypeException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenInvalidTypeException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenKeyWrapException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenKeyWrapException.cs
index 5a0747130f..27229a40bf 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenKeyWrapException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenKeyWrapException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenReplayDetectedException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenReplayDetectedException.cs
index fe5a0597a1..ac57953a53 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenReplayDetectedException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenReplayDetectedException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenSignatureKeyNotFoundException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenSignatureKeyNotFoundException.cs
index 22456c484f..85c1bebb0f 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenSignatureKeyNotFoundException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenSignatureKeyNotFoundException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenValidationException.cs b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenValidationException.cs
index 674ad4f45c..0eba110b21 100644
--- a/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenValidationException.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Exceptions/SecurityTokenValidationException.cs
@@ -3,7 +3,7 @@
using System;
using System.Runtime.Serialization;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Tokens
{
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Delegates.cs b/src/Microsoft.IdentityModel.Tokens/Experimental/Delegates.cs
deleted file mode 100644
index 6f444e6b49..0000000000
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Delegates.cs
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using System.Threading;
-using System;
-
-#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
-{
- ///
- /// Definition for delegate that will validate a given algorithm for a .
- ///
- /// The algorithm to be validated.
- /// The being validated.
- /// required for validation.
- ///
- /// A that contains the results of validating the algorithm.
- /// This delegate is not expected to throw.
- public delegate ValidationResult AlgorithmValidationDelegate(
- string? algorithm,
- SecurityToken securityToken,
- ValidationParameters validationParameters,
- CallContext callContext);
-
- ///
- /// Definition for delegate that will validate the audiences value in a token.
- ///
- /// The audiences found in the .
- /// The that is being validated.
- /// The to be used for validating the token.
- ///
- /// A that contains the results of validating the issuer.
- /// This delegate is not expected to throw.
- public delegate ValidationResult AudienceValidationDelegate(
- IList tokenAudiences,
- SecurityToken? securityToken,
- ValidationParameters validationParameters,
- CallContext callContext);
-
- ///
- /// Definition for delegate that will validate the issuer value in a token.
- ///
- /// The issuer to validate.
- /// The that is being validated.
- /// The to be used for validating the token.
- ///
- ///
- /// A that contains the results of validating the issuer.
- /// This delegate is not expected to throw.
- public delegate Task> IssuerValidationDelegateAsync(
- string issuer,
- SecurityToken securityToken,
- ValidationParameters validationParameters,
- CallContext callContext,
- CancellationToken cancellationToken);
-
- ///
- /// Definition for delegate that will validate the that signed a .
- ///
- /// The security key to validate.
- /// The that is being validated.
- /// The to be used for validating the token.
- /// The to be used for logging.
- /// A that contains the results of validating the issuer.
- /// This delegate is not expected to throw.
- public delegate ValidationResult SignatureKeyValidationDelegate(
- SecurityKey signingKey,
- SecurityToken securityToken,
- ValidationParameters validationParameters,
- CallContext callContext);
-
- ///
- /// Definition for delegate that will validate the lifetime of a .
- ///
- /// The 'notBefore' time found in the .
- /// The 'expiration' time found in the .
- /// The that is being validated.
- /// The to be used for validating the token.
- /// The that contains call information.
- /// A that contains the results of validating the issuer.
- /// This delegate is not expected to throw.
- public delegate ValidationResult LifetimeValidationDelegate(
- DateTime? notBefore,
- DateTime? expires,
- SecurityToken? securityToken,
- ValidationParameters validationParameters,
- CallContext callContext);
-
- ///
- /// Definition for delegate that will validate that a has not been replayed.
- ///
- /// When does the expire..
- /// The security token that is being validated.
- /// The to be used for validating the token.
- /// The that contains call information.
- /// A that contains the results of validating the token.
- /// This delegate is not expected to throw.
- public delegate ValidationResult TokenReplayValidationDelegate(
- DateTime? expirationTime,
- string securityToken,
- ValidationParameters validationParameters,
- CallContext callContext);
-
- ///
- /// Definition for delegate that will validate the token type of a token.
- ///
- /// The token type or null if it couldn't be resolved (e.g from the 'typ' header for a JWT).
- /// The that is being validated.
- /// required for validation.
- /// The that contains call information.
- /// A that contains the results of validating the token type.
- /// An EXACT match is required. (case sensitive) is used for comparing against .
- public delegate ValidationResult TokenTypeValidationDelegate(
- string? type,
- SecurityToken? securityToken,
- ValidationParameters validationParameters,
- CallContext callContext);
-
- ///
- /// Resolves the signing key used for validating a token's signature.
- ///
- /// The string representation of the token being validated.
- /// The being validated, which may be null.
- /// The key identifier, which may be null.
- /// The to be used for validating the token.
- /// The to be used for validating the token.
- /// The used for logging.
- /// The used to validate the signature.
- /// If both and are set, takes priority.
- public delegate SecurityKey? SignatureKeyResolverDelegate(
- string token,
- SecurityToken? securityToken,
- string? kid,
- ValidationParameters validationParameters,
- BaseConfiguration? configuration,
- CallContext? callContext);
-
- ///
- /// Resolves the decryption key for the security token.
- ///
- /// The string representation of the token to be decrypted.
- /// The to be decrypted, which is null by default.
- /// The key identifier, which may be null.
- /// The to be used for validating the token.
- /// The to be used for logging.
- /// The used to decrypt the token.
- public delegate IList DecryptionKeyResolverDelegate(
- string token,
- SecurityToken securityToken,
- string kid,
- ValidationParameters validationParameters,
- CallContext? callContext);
-
- ///
- /// Validates the signature of the security token.
- ///
- /// The with a signature.
- /// The to be used for validating the token.
- /// The to be used for validating the token.
- /// The to be used for logging.
- /// This method is not expected to throw.
- /// The validated .
- public delegate ValidationResult SignatureValidationDelegate(
- SecurityToken token,
- ValidationParameters validationParameters,
- BaseConfiguration? configuration,
- CallContext callContext);
-#nullable restore
-}
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/TokenHandler.Internal.cs b/src/Microsoft.IdentityModel.Tokens/Experimental/TokenHandler.Internal.cs
deleted file mode 100644
index 6274d77fbb..0000000000
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/TokenHandler.Internal.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Security.Claims;
-using System.Threading;
-using System.Threading.Tasks;
-using Microsoft.IdentityModel.Tokens.Experimental;
-using static Microsoft.IdentityModel.Logging.LogHelper;
-
-namespace Microsoft.IdentityModel.Tokens
-{
- ///
- /// Defines properties shared across all security token handlers.
- ///
- public abstract partial class TokenHandler
- {
- ///
- /// Validates a token.
- /// On validation failure no exception will be thrown. will contain information pertaining to the error.
- ///
- /// The token to be validated.
- /// The to be used for validating the token.
- /// A that contains call information.
- /// A that can be used to request cancellation of the asynchronous operation.
- /// An with either a
- /// if the token was validated or a containing the failure information.
- internal virtual Task> ValidateTokenAsync(
- string token,
- ValidationParameters validationParameters,
- CallContext callContext,
- CancellationToken cancellationToken)
- {
- throw LogExceptionMessage(
- new NotImplementedException(
- FormatInvariant(
- LogMessages.IDX10267,
- MarkAsNonPII("internal virtual Task> " +
- "ValidateTokenAsync(string token, ValidationParameters validationParameters, CallContext callContext, CancellationToken cancellationToken)"),
- MarkAsNonPII(GetType().FullName))));
- }
-
- ///
- /// Validates a token.
- /// On validation failure no exception will be thrown. will contain information pertaining to the error.
- ///
- /// The token to be validated.
- /// The to be used for validating the token.
- /// A that contains call information.
- /// A that can be used to request cancellation of the asynchronous operation.
- /// An with either a
- /// if the token was validated or a containing the failure information.
- internal virtual Task> ValidateTokenAsync(
- SecurityToken token,
- ValidationParameters validationParameters,
- CallContext callContext,
- CancellationToken cancellationToken)
- {
- throw LogExceptionMessage(
- new NotImplementedException(
- FormatInvariant(
- LogMessages.IDX10267,
- MarkAsNonPII("internal virtual Task> " +
- "ValidateTokenAsync(SecurityToken token, ValidationParameters validationParameters, CallContext callContext, CancellationToken cancellationToken)"),
- MarkAsNonPII(GetType().FullName))));
- }
-
- ///
- /// Called by base class to create a .
- /// Currently only used by the JsonWebTokenHandler when called with ValidationParameters to allow for a Lazy creation.
- ///
- /// the that has the Claims.
- /// the that was used to validate the token.
- /// the 'issuer' to use by default when creating a Claim.
- /// A .
- ///
- internal virtual ClaimsIdentity CreateClaimsIdentityInternal(
- SecurityToken securityToken,
- ValidationParameters validationParameters,
- string issuer)
- {
- throw LogExceptionMessage(
- new NotImplementedException(
- FormatInvariant(
- LogMessages.IDX10267,
- MarkAsNonPII("internal virtual ClaimsIdentity CreateClaimsIdentityInternal(SecurityToken securityToken, ValidationParameters validationParameters, string issuer)"),
- MarkAsNonPII(GetType().FullName))));
- }
- }
-}
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/AsyncValidate.cd b/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/AsyncValidate.cd
deleted file mode 100644
index 7dc6d1c10b..0000000000
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/AsyncValidate.cd
+++ /dev/null
@@ -1,224 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
- CallContext.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
- AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA=
- Validation\Results\Details\AlgorithmValidationError.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Validation\Results\Details\ValidationError.cs
-
-
-
-
- AQAEAAAIAAAAAAACAAAAGAAEAAwAAAAQBEAAJAAAAAA=
- Validation\Results\Details\ValidationError.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
- AAAEAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAA=
- Validation\Results\Details\AudienceValidationError.cs
-
-
-
-
-
- AAAEAAAIAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA=
- Validation\Results\Details\IssuerSigningKeyValidationError.cs
-
-
-
-
-
- AAAEAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAA=
- Validation\Results\Details\IssuerValidationError.cs
-
-
-
-
-
- AAAEAAAAAAAAAIAAAAAAAAAAAAAAAAAAIAAAAAAAAAA=
- Validation\Results\Details\LifetimeValidationError.cs
-
-
-
-
-
- AAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
- Validation\Results\Details\SignatureValidationError.cs
-
-
-
-
-
- AAAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAA=
- Validation\Results\Details\TokenReplayValidationError.cs
-
-
-
-
-
- AAAEQAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
- Validation\Results\Details\TokenTypeValidationError.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Validation\Results\ValidatedToken.cs
-
-
-
-
-
-
-
-
-
-
-
-
- ACAAIAAAAEAAACIIAAAQAAEAARgACEEACIAAACAgQIA=
- Validation\Results\ValidatedToken.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AAAAAAAAAAAAAQACgAgAAEQBAAACIIAAABAAAAAAAiA=
- Validation\Results\ValidationResult.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AAEAAAAAAAEAAAAAgAAAAAAAAAAAAIAAAAAAAAAAAiA=
- Validation\Results\ValidatedIssuer.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
- AAAAAAAAAAAAAIAAgAAAAAAAAAAAAIAAIAAAAAAAAiA=
- Validation\Results\ValidatedLifetime.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
- AAAAAAAAAAAAAAAAgAAAAAAAAAgAAKAAACAAAAAAAiA=
- Validation\Results\ValidatedSigningKeyLifetime.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
- AAAAAAAAAAAAAAAAgAAAACAAAAAAAIAAAQAAAAAAAiA=
- Validation\Results\ValidatedTokenType.cs
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Exceptions.cd b/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Exceptions.cd
deleted file mode 100644
index 41c5af0f88..0000000000
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Exceptions.cd
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- AAAAAAAAAoAAAgAAAAQAAAAAAAAAAAAAAEAAAAAAAAA=
- Exceptions\SecurityTokenException.cs
-
-
-
-
-
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
- Exceptions\SecurityTokenValidationException.cs
-
-
-
-
-
- AAgAAEAAAAAAAAAAAAACAAAgAAAAAAAAAAAAAAAAAAA=
- Exceptions\SecurityTokenInvalidIssuerException.cs
-
-
-
-
\ No newline at end of file
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationDelegates.cd b/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationDelegates.cd
deleted file mode 100644
index a6af5bfb82..0000000000
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationDelegates.cd
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- YAgEEAQAKMQck0AAi5R6AACRWgBkBQIAAQgYQsaIkxA=
- Validation\TokenValidationParameters.IssuerValidationDelegate.cs
-
-
-
-
-
-
-
-
- AAAAAAAAAACAAAAAACAQBAAAAAAAAAAAgAAAAAAAAAA=
- Validation\Validators.Issuer.cs
-
-
-
-
\ No newline at end of file
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationParameters.cd b/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationParameters.cd
deleted file mode 100644
index 83f29fe805..0000000000
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationParameters.cd
+++ /dev/null
@@ -1,150 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CAgAFIAASAAUkUAAi4x6AAAQWgBkQAIQIggaQMaB8xA=
- Validation\ValidationParameters.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AAAAAAAAAACAAAAAAAAgAAAAAEIEAAAAAAAAAAAAAAA=
- Validation\Validators.Algorithm.cs
-
-
-
-
-
- AAAAAAAEAAAABAAAAAAQAAAAAAAAAAAAgAAAAAAAAAA=
- Validation\Validators.Audience.cs
-
-
-
-
-
- AAACAAAAAACAAAAAAIAQAAAAAAIAAAAAAAAAAAAAAAA=
- Delegates.cs
-
-
-
-
-
- BAAAAAAEAAAAAAAAAAAQAAAAAEAAAAAAAAAAAAAAAAI=
- Validation\Validators.IssuerSigningKey.cs
-
-
-
-
-
- AAAAAAAEAACAAAAAAAAQBAAAAAAAAAAAgAAAAAAAAAA=
- Validation\Validators.Issuer.cs
-
-
-
-
-
- AAAAAAAAAAAAACAAAAAgAAAAAEIAAAAAAAAAAAAAAAA=
- Validation\Validators.Lifetime.cs
-
-
-
-
-
- AAAAAAAAAAgAAAAAAAAIAAAAAAAAAAAAgAAAAAAAAAA=
- Delegates.cs
-
-
-
-
-
- AAACAAAAAACAAAAAAAAQAAAAAEIAAAAAAAAAAAAAAAA=
- Delegates.cs
-
-
-
-
-
- AAAAAAAEAACAAAAAAAAQAAAAAAAAAAAAgAAAAAAAAAA=
- Validation\Validators.TokenType.cs
-
-
-
-
-
- AAAAAAAEAAAAADAAAAAAAAAAAAAAAAAAgAAAAAAAAAA=
- Validation\Validators.TokenReplay.cs
-
-
-
-
\ No newline at end of file
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/IResultBasedValidation.cs b/src/Microsoft.IdentityModel.Tokens/IResultBasedValidation.cs
similarity index 97%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/IResultBasedValidation.cs
rename to src/Microsoft.IdentityModel.Tokens/IResultBasedValidation.cs
index 26c4f61c77..c3ec11c5cb 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/IResultBasedValidation.cs
+++ b/src/Microsoft.IdentityModel.Tokens/IResultBasedValidation.cs
@@ -5,10 +5,10 @@
using System.Threading.Tasks;
using System.Threading;
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
- /// Experimental interface that provides result based token validation instead of throwing exceptions.
+ /// Interface that provides result based token validation instead of throwing exceptions.
///
public interface IResultBasedValidation
{
diff --git a/src/Microsoft.IdentityModel.Tokens/PublicAPI.Unshipped.txt b/src/Microsoft.IdentityModel.Tokens/PublicAPI.Unshipped.txt
index 0fe36c2ef5..f3225ee48f 100644
--- a/src/Microsoft.IdentityModel.Tokens/PublicAPI.Unshipped.txt
+++ b/src/Microsoft.IdentityModel.Tokens/PublicAPI.Unshipped.txt
@@ -1,325 +1,329 @@
#nullable enable
-const Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.DefaultAuthenticationType = "AuthenticationTypes.Federation" -> string!
-const Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.DefaultMaximumTokenSizeInBytes = 256000 -> int
-Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationDelegate
-Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationError
-Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationError.AlgorithmValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidAlgorithm) -> void
-Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationError.AlgorithmValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidAlgorithm, System.Exception? innerException) -> void
-Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationError.InvalidAlgorithm.get -> string?
-Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationFailure
-Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationFailure.AlgorithmValidationFailure(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationDelegate
-Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationError
-Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationError.AudienceValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.Collections.Generic.IList? tokenAudiences, System.Collections.Generic.IList? validAudiences) -> void
-Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationError.AudienceValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.Collections.Generic.IList? tokenAudiences, System.Collections.Generic.IList? validAudiences, System.Exception? innerException) -> void
-Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationError.TokenAudiences.get -> System.Collections.Generic.IList?
-Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationError.ValidAudiences.get -> System.Collections.Generic.IList?
-Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure
-Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure.AudienceValidationFailure(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.DecryptionKeyResolverDelegate
-Microsoft.IdentityModel.Tokens.Experimental.IResultBasedValidation
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationError.IssuerValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidIssuer) -> void
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationError.IssuerValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidIssuer, System.Exception? innerException) -> void
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure.IssuerValidationFailure(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationError.LifetimeValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.DateTime? notBefore, System.DateTime? expires) -> void
-Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationError.LifetimeValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.DateTime? notBefore, System.DateTime? expires, System.Exception? innerException) -> void
-Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure
-Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure.LifetimeValidationFailure(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyResolverDelegate
-Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationDelegate
-Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationError
-Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationError.InvalidSigningKey.get -> Microsoft.IdentityModel.Tokens.SecurityKey?
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationDelegateAsync
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationError
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationError.InvalidIssuer.get -> string?
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource.IssuerValidationSource(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource.Name.get -> string!
-Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationDelegate
-Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationError
-Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationError.Expires.get -> System.DateTime?
-Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationError.NotBefore.get -> System.DateTime?
-Microsoft.IdentityModel.Tokens.Experimental.MessageDetail
-Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationError.SignatureKeyValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, Microsoft.IdentityModel.Tokens.SecurityKey? invalidSigningKey) -> void
-Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationError.SignatureKeyValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, Microsoft.IdentityModel.Tokens.SecurityKey? invalidSigningKey, System.Exception? innerException) -> void
-Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure
-Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure.SignatureKeyValidationFailure(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationDelegate
-Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationError
-Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationError.SignatureValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame) -> void
-Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationError.SignatureValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.Exception? innerException) -> void
-Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure
-Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure.SignatureValidationFailure(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationDelegate
-Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationError
-Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationError.ExpirationTime.get -> System.DateTime?
-Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationError.TokenReplayValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.DateTime? expirationTime) -> void
-Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationError.TokenReplayValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.DateTime? expirationTime, System.Exception? innerException) -> void
-Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure
-Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure.TokenReplayValidationFailure(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationDelegate
-Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationError
-Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationError.InvalidTokenType.get -> string?
-Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationError.TokenTypeValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidTokenType) -> void
-Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationError.TokenTypeValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidTokenType, System.Exception? innerException) -> void
-Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationFailure
-Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationFailure.TokenTypeValidationFailure(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.Equals(Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer other) -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.Issuer.get -> string!
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.ValidatedIssuer() -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.ValidatedIssuer(string! issuer, Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource! validationSource) -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.ValidationSource.get -> Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource!
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.Equals(Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime other) -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.Expires.get -> System.DateTime?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.NotBefore.get -> System.DateTime?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.ValidatedLifetime() -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.ValidatedLifetime(System.DateTime? notBefore, System.DateTime? expires) -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.Equals(Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey other) -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.ValidatedSignatureKey() -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.ValidationTime.get -> System.DateTime?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.ValidFrom.get -> System.DateTime?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.ValidTo.get -> System.DateTime?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ActorValidationResult.get -> Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.Claims.get -> System.Collections.Generic.IDictionary!
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ClaimsIdentity.get -> System.Security.Claims.ClaimsIdentity!
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ClaimsIdentity.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.SecurityToken.get -> Microsoft.IdentityModel.Tokens.SecurityToken!
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.TokenHandler.get -> Microsoft.IdentityModel.Tokens.TokenHandler!
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ValidatedAlgorithm.get -> string?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ValidatedAudience.get -> string?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ValidatedIssuer.get -> Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ValidatedLifetime.get -> Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ValidatedSignatureKey.get -> Microsoft.IdentityModel.Tokens.SecurityKey?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ValidatedToken(Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.TokenHandler! tokenHandler, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters) -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ValidatedTokenType.get -> Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType?
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedToken.ValidationParameters.get -> Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters!
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.Equals(Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType other) -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.Type.get -> string!
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.ValidatedTokenType() -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.ValidatedTokenType(string! type, int validTypeCount) -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.ValidTypeCount.get -> int
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.AddCurrentStackFrame(string! filePath = "", int lineNumber = 0, int skipFrames = 1) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationError!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.AddStackFrame(System.Diagnostics.StackFrame! stackFrame) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationError!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.Exception.get -> System.Exception?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.Exception.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.FailureType.get -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.InnerException.get -> System.Exception?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.Message.get -> string!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.StackFrames.get -> System.Collections.Generic.IList!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.ValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame) -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationError.ValidationError(Microsoft.IdentityModel.Tokens.Experimental.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.Exception? innerException) -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType
-Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.Name.get -> string!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.ValidationFailureType(string! name) -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ActorValidationParameters.get -> Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ActorValidationParameters.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.AlgorithmValidator.get -> Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationDelegate!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.AlgorithmValidator.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.AudienceValidator.get -> Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationDelegate!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.AudienceValidator.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.AuthenticationType.get -> string?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.AuthenticationType.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ClockSkew.get -> System.TimeSpan
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ClockSkew.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ConfigurationManager.get -> Microsoft.IdentityModel.Tokens.BaseConfigurationManager?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ConfigurationManager.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.CryptoProviderFactory.get -> Microsoft.IdentityModel.Tokens.CryptoProviderFactory?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.CryptoProviderFactory.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.DebugId.get -> string?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.DebugId.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.IgnoreTrailingSlashWhenValidatingAudience.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.IgnoreTrailingSlashWhenValidatingAudience.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.IncludeTokenOnFailedValidation.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.IncludeTokenOnFailedValidation.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.InstancePropertyBag.get -> System.Collections.Generic.IDictionary!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.IsClone.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.IsClone.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.SignatureKeyResolver.get -> Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyResolverDelegate?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.SignatureKeyResolver.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.SignatureKeyValidator.get -> Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationDelegate!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.SignatureKeyValidator.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.IssuerValidatorAsync.get -> Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationDelegateAsync!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.IssuerValidatorAsync.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.LifetimeValidator.get -> Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationDelegate!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.LifetimeValidator.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.LogTokenId.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.LogTokenId.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.NameClaimType.get -> string!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.NameClaimType.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.NameClaimTypeRetriever.get -> System.Func?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.NameClaimTypeRetriever.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.PropertyBag.get -> System.Collections.Generic.IDictionary!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.RefreshBeforeValidation.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.RefreshBeforeValidation.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.RoleClaimType.get -> string!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.RoleClaimType.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.RoleClaimTypeRetriever.get -> System.Func?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.RoleClaimTypeRetriever.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.SaveSigninToken.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.SaveSigninToken.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.SignatureValidator.get -> Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationDelegate?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.SignatureValidator.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.DecryptionKeys.get -> System.Collections.Generic.IList!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.SigningKeys.get -> System.Collections.Generic.IList!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TokenReplayCache.get -> Microsoft.IdentityModel.Tokens.ITokenReplayCache?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TokenReplayCache.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TokenReplayValidator.get -> Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationDelegate!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TokenReplayValidator.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TokenTypeValidator.get -> Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationDelegate!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TokenTypeValidator.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TryAllDecryptionKeys.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TryAllDecryptionKeys.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TryAllSigningKeys.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.TryAllSigningKeys.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidAlgorithms.get -> System.Collections.Generic.IList!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidateActor.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidateActor.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidateWithLKG.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidateWithLKG.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidationParameters() -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidationParameters(Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! other) -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidAudiences.get -> System.Collections.Generic.IList!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidIssuers.get -> System.Collections.Generic.IList!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.ValidTypes.get -> System.Collections.Generic.IList!
+const Microsoft.IdentityModel.Tokens.ValidationParameters.DefaultAuthenticationType = "AuthenticationTypes.Federation" -> string!
+const Microsoft.IdentityModel.Tokens.ValidationParameters.DefaultMaximumTokenSizeInBytes = 256000 -> int
+Microsoft.IdentityModel.Tokens.AlgorithmValidationDelegate
+Microsoft.IdentityModel.Tokens.AlgorithmValidationError
+Microsoft.IdentityModel.Tokens.AlgorithmValidationError.AlgorithmValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidAlgorithm) -> void
+Microsoft.IdentityModel.Tokens.AlgorithmValidationError.AlgorithmValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidAlgorithm, System.Exception? innerException) -> void
+Microsoft.IdentityModel.Tokens.AlgorithmValidationError.InvalidAlgorithm.get -> string?
+Microsoft.IdentityModel.Tokens.AlgorithmValidationFailure
+Microsoft.IdentityModel.Tokens.AlgorithmValidationFailure.AlgorithmValidationFailure(string! name) -> void
+Microsoft.IdentityModel.Tokens.AudienceValidationDelegate
+Microsoft.IdentityModel.Tokens.AudienceValidationError
+Microsoft.IdentityModel.Tokens.AudienceValidationError.AudienceValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.Collections.Generic.IList? tokenAudiences, System.Collections.Generic.IList? validAudiences) -> void
+Microsoft.IdentityModel.Tokens.AudienceValidationError.AudienceValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.Collections.Generic.IList? tokenAudiences, System.Collections.Generic.IList? validAudiences, System.Exception? innerException) -> void
+Microsoft.IdentityModel.Tokens.AudienceValidationError.TokenAudiences.get -> System.Collections.Generic.IList?
+Microsoft.IdentityModel.Tokens.AudienceValidationError.ValidAudiences.get -> System.Collections.Generic.IList?
+Microsoft.IdentityModel.Tokens.AudienceValidationFailure
+Microsoft.IdentityModel.Tokens.AudienceValidationFailure.AudienceValidationFailure(string! name) -> void
+Microsoft.IdentityModel.Tokens.DecryptionKeyResolverDelegate
+Microsoft.IdentityModel.Tokens.IResultBasedValidation
+Microsoft.IdentityModel.Tokens.IssuerValidationError.IssuerValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidIssuer) -> void
+Microsoft.IdentityModel.Tokens.IssuerValidationError.IssuerValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidIssuer, System.Exception? innerException) -> void
+Microsoft.IdentityModel.Tokens.IssuerValidationFailure
+Microsoft.IdentityModel.Tokens.IssuerValidationFailure.IssuerValidationFailure(string! name) -> void
+Microsoft.IdentityModel.Tokens.LifetimeValidationError.LifetimeValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.DateTime? notBefore, System.DateTime? expires) -> void
+Microsoft.IdentityModel.Tokens.LifetimeValidationError.LifetimeValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.DateTime? notBefore, System.DateTime? expires, System.Exception? innerException) -> void
+Microsoft.IdentityModel.Tokens.LifetimeValidationFailure
+Microsoft.IdentityModel.Tokens.LifetimeValidationFailure.LifetimeValidationFailure(string! name) -> void
+Microsoft.IdentityModel.Tokens.SignatureKeyResolverDelegate
+Microsoft.IdentityModel.Tokens.SignatureKeyValidationDelegate
+Microsoft.IdentityModel.Tokens.SignatureKeyValidationError
+Microsoft.IdentityModel.Tokens.SignatureKeyValidationError.InvalidSigningKey.get -> Microsoft.IdentityModel.Tokens.SecurityKey?
+Microsoft.IdentityModel.Tokens.IssuerValidationDelegateAsync
+Microsoft.IdentityModel.Tokens.IssuerValidationError
+Microsoft.IdentityModel.Tokens.IssuerValidationError.InvalidIssuer.get -> string?
+Microsoft.IdentityModel.Tokens.IssuerValidationSource
+Microsoft.IdentityModel.Tokens.IssuerValidationSource.IssuerValidationSource(string! name) -> void
+Microsoft.IdentityModel.Tokens.IssuerValidationSource.Name.get -> string!
+Microsoft.IdentityModel.Tokens.LifetimeValidationDelegate
+Microsoft.IdentityModel.Tokens.LifetimeValidationError
+Microsoft.IdentityModel.Tokens.LifetimeValidationError.Expires.get -> System.DateTime?
+Microsoft.IdentityModel.Tokens.LifetimeValidationError.NotBefore.get -> System.DateTime?
+Microsoft.IdentityModel.Tokens.MessageDetail
+Microsoft.IdentityModel.Tokens.SignatureKeyValidationError.SignatureKeyValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, Microsoft.IdentityModel.Tokens.SecurityKey? invalidSigningKey) -> void
+Microsoft.IdentityModel.Tokens.SignatureKeyValidationError.SignatureKeyValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, Microsoft.IdentityModel.Tokens.SecurityKey? invalidSigningKey, System.Exception? innerException) -> void
+Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure
+Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure.SignatureKeyValidationFailure(string! name) -> void
+Microsoft.IdentityModel.Tokens.SignatureValidationDelegate
+Microsoft.IdentityModel.Tokens.SignatureValidationError
+Microsoft.IdentityModel.Tokens.SignatureValidationError.SignatureValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame) -> void
+Microsoft.IdentityModel.Tokens.SignatureValidationError.SignatureValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.Exception? innerException) -> void
+Microsoft.IdentityModel.Tokens.SignatureValidationFailure
+Microsoft.IdentityModel.Tokens.SignatureValidationFailure.SignatureValidationFailure(string! name) -> void
+Microsoft.IdentityModel.Tokens.TokenReplayValidationDelegate
+Microsoft.IdentityModel.Tokens.TokenReplayValidationError
+Microsoft.IdentityModel.Tokens.TokenReplayValidationError.ExpirationTime.get -> System.DateTime?
+Microsoft.IdentityModel.Tokens.TokenReplayValidationError.TokenReplayValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.DateTime? expirationTime) -> void
+Microsoft.IdentityModel.Tokens.TokenReplayValidationError.TokenReplayValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.DateTime? expirationTime, System.Exception? innerException) -> void
+Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure
+Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure.TokenReplayValidationFailure(string! name) -> void
+Microsoft.IdentityModel.Tokens.TokenTypeValidationDelegate
+Microsoft.IdentityModel.Tokens.TokenTypeValidationError
+Microsoft.IdentityModel.Tokens.TokenTypeValidationError.InvalidTokenType.get -> string?
+Microsoft.IdentityModel.Tokens.TokenTypeValidationError.TokenTypeValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidTokenType) -> void
+Microsoft.IdentityModel.Tokens.TokenTypeValidationError.TokenTypeValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, string? invalidTokenType, System.Exception? innerException) -> void
+Microsoft.IdentityModel.Tokens.TokenTypeValidationFailure
+Microsoft.IdentityModel.Tokens.TokenTypeValidationFailure.TokenTypeValidationFailure(string! name) -> void
+Microsoft.IdentityModel.Tokens.ValidatedIssuer
+Microsoft.IdentityModel.Tokens.ValidatedIssuer.Equals(Microsoft.IdentityModel.Tokens.ValidatedIssuer other) -> bool
+Microsoft.IdentityModel.Tokens.ValidatedIssuer.Issuer.get -> string!
+Microsoft.IdentityModel.Tokens.ValidatedIssuer.ValidatedIssuer() -> void
+Microsoft.IdentityModel.Tokens.ValidatedIssuer.ValidatedIssuer(string! issuer, Microsoft.IdentityModel.Tokens.IssuerValidationSource! validationSource) -> void
+Microsoft.IdentityModel.Tokens.ValidatedIssuer.ValidationSource.get -> Microsoft.IdentityModel.Tokens.IssuerValidationSource!
+Microsoft.IdentityModel.Tokens.ValidatedLifetime
+Microsoft.IdentityModel.Tokens.ValidatedLifetime.Equals(Microsoft.IdentityModel.Tokens.ValidatedLifetime other) -> bool
+Microsoft.IdentityModel.Tokens.ValidatedLifetime.Expires.get -> System.DateTime?
+Microsoft.IdentityModel.Tokens.ValidatedLifetime.NotBefore.get -> System.DateTime?
+Microsoft.IdentityModel.Tokens.ValidatedLifetime.ValidatedLifetime() -> void
+Microsoft.IdentityModel.Tokens.ValidatedLifetime.ValidatedLifetime(System.DateTime? notBefore, System.DateTime? expires) -> void
+Microsoft.IdentityModel.Tokens.ValidatedSignatureKey
+Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.Equals(Microsoft.IdentityModel.Tokens.ValidatedSignatureKey other) -> bool
+Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.ValidatedSignatureKey() -> void
+Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.ValidationTime.get -> System.DateTime?
+Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.ValidFrom.get -> System.DateTime?
+Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.ValidTo.get -> System.DateTime?
+Microsoft.IdentityModel.Tokens.ValidatedToken
+Microsoft.IdentityModel.Tokens.ValidatedToken.ActorValidationResult.get -> Microsoft.IdentityModel.Tokens.ValidatedToken?
+Microsoft.IdentityModel.Tokens.ValidatedToken.Claims.get -> System.Collections.Generic.IDictionary!
+Microsoft.IdentityModel.Tokens.ValidatedToken.ClaimsIdentity.get -> System.Security.Claims.ClaimsIdentity!
+Microsoft.IdentityModel.Tokens.ValidatedToken.ClaimsIdentity.set -> void
+Microsoft.IdentityModel.Tokens.ValidatedToken.SecurityToken.get -> Microsoft.IdentityModel.Tokens.SecurityToken!
+Microsoft.IdentityModel.Tokens.ValidatedToken.TokenHandler.get -> Microsoft.IdentityModel.Tokens.TokenHandler!
+Microsoft.IdentityModel.Tokens.ValidatedToken.ValidatedAlgorithm.get -> string?
+Microsoft.IdentityModel.Tokens.ValidatedToken.ValidatedAudience.get -> string?
+Microsoft.IdentityModel.Tokens.ValidatedToken.ValidatedIssuer.get -> Microsoft.IdentityModel.Tokens.ValidatedIssuer?
+Microsoft.IdentityModel.Tokens.ValidatedToken.ValidatedLifetime.get -> Microsoft.IdentityModel.Tokens.ValidatedLifetime?
+Microsoft.IdentityModel.Tokens.ValidatedToken.ValidatedSignatureKey.get -> Microsoft.IdentityModel.Tokens.SecurityKey?
+Microsoft.IdentityModel.Tokens.ValidatedToken.ValidatedToken(Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.TokenHandler! tokenHandler, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters) -> void
+Microsoft.IdentityModel.Tokens.ValidatedToken.ValidatedTokenType.get -> Microsoft.IdentityModel.Tokens.ValidatedTokenType?
+Microsoft.IdentityModel.Tokens.ValidatedToken.ValidationParameters.get -> Microsoft.IdentityModel.Tokens.ValidationParameters!
+Microsoft.IdentityModel.Tokens.ValidatedTokenType
+Microsoft.IdentityModel.Tokens.ValidatedTokenType.Equals(Microsoft.IdentityModel.Tokens.ValidatedTokenType other) -> bool
+Microsoft.IdentityModel.Tokens.ValidatedTokenType.Type.get -> string!
+Microsoft.IdentityModel.Tokens.ValidatedTokenType.ValidatedTokenType() -> void
+Microsoft.IdentityModel.Tokens.ValidatedTokenType.ValidatedTokenType(string! type, int validTypeCount) -> void
+Microsoft.IdentityModel.Tokens.ValidatedTokenType.ValidTypeCount.get -> int
+Microsoft.IdentityModel.Tokens.ValidationError
+Microsoft.IdentityModel.Tokens.ValidationError.AddCurrentStackFrame(string! filePath = "", int lineNumber = 0, int skipFrames = 1) -> Microsoft.IdentityModel.Tokens.ValidationError!
+Microsoft.IdentityModel.Tokens.ValidationError.AddStackFrame(System.Diagnostics.StackFrame! stackFrame) -> Microsoft.IdentityModel.Tokens.ValidationError!
+Microsoft.IdentityModel.Tokens.ValidationError.Exception.get -> System.Exception?
+Microsoft.IdentityModel.Tokens.ValidationError.Exception.set -> void
+Microsoft.IdentityModel.Tokens.ValidationError.FailureType.get -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+Microsoft.IdentityModel.Tokens.ValidationError.InnerException.get -> System.Exception?
+Microsoft.IdentityModel.Tokens.ValidationError.Message.get -> string!
+Microsoft.IdentityModel.Tokens.ValidationError.StackFrames.get -> System.Collections.Generic.IList!
+Microsoft.IdentityModel.Tokens.ValidationError.ValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame) -> void
+Microsoft.IdentityModel.Tokens.ValidationError.ValidationError(Microsoft.IdentityModel.Tokens.MessageDetail! messageDetail, Microsoft.IdentityModel.Tokens.ValidationFailureType! validationFailure, System.Diagnostics.StackFrame! stackFrame, System.Exception? innerException) -> void
+Microsoft.IdentityModel.Tokens.ValidationFailureType
+Microsoft.IdentityModel.Tokens.ValidationFailureType.Name.get -> string!
+Microsoft.IdentityModel.Tokens.ValidationFailureType.ValidationFailureType(string! name) -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters
+Microsoft.IdentityModel.Tokens.ValidationParameters.ActorValidationParameters.get -> Microsoft.IdentityModel.Tokens.ValidationParameters?
+Microsoft.IdentityModel.Tokens.ValidationParameters.ActorValidationParameters.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.AlgorithmValidator.get -> Microsoft.IdentityModel.Tokens.AlgorithmValidationDelegate!
+Microsoft.IdentityModel.Tokens.ValidationParameters.AlgorithmValidator.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.AudienceValidator.get -> Microsoft.IdentityModel.Tokens.AudienceValidationDelegate!
+Microsoft.IdentityModel.Tokens.ValidationParameters.AudienceValidator.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.AuthenticationType.get -> string?
+Microsoft.IdentityModel.Tokens.ValidationParameters.AuthenticationType.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.ClockSkew.get -> System.TimeSpan
+Microsoft.IdentityModel.Tokens.ValidationParameters.ClockSkew.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.ConfigurationManager.get -> Microsoft.IdentityModel.Tokens.BaseConfigurationManager?
+Microsoft.IdentityModel.Tokens.ValidationParameters.ConfigurationManager.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.CryptoProviderFactory.get -> Microsoft.IdentityModel.Tokens.CryptoProviderFactory?
+Microsoft.IdentityModel.Tokens.ValidationParameters.CryptoProviderFactory.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.DebugId.get -> string?
+Microsoft.IdentityModel.Tokens.ValidationParameters.DebugId.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.IgnoreTrailingSlashWhenValidatingAudience.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.IgnoreTrailingSlashWhenValidatingAudience.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.IncludeTokenOnFailedValidation.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.IncludeTokenOnFailedValidation.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.InstancePropertyBag.get -> System.Collections.Generic.IDictionary!
+Microsoft.IdentityModel.Tokens.ValidationParameters.IsClone.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.IsClone.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.SignatureKeyResolver.get -> Microsoft.IdentityModel.Tokens.SignatureKeyResolverDelegate?
+Microsoft.IdentityModel.Tokens.ValidationParameters.SignatureKeyResolver.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.SignatureKeyValidator.get -> Microsoft.IdentityModel.Tokens.SignatureKeyValidationDelegate!
+Microsoft.IdentityModel.Tokens.ValidationParameters.SignatureKeyValidator.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.IssuerValidatorAsync.get -> Microsoft.IdentityModel.Tokens.IssuerValidationDelegateAsync!
+Microsoft.IdentityModel.Tokens.ValidationParameters.IssuerValidatorAsync.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.LifetimeValidator.get -> Microsoft.IdentityModel.Tokens.LifetimeValidationDelegate!
+Microsoft.IdentityModel.Tokens.ValidationParameters.LifetimeValidator.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.LogTokenId.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.LogTokenId.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.NameClaimType.get -> string!
+Microsoft.IdentityModel.Tokens.ValidationParameters.NameClaimType.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.NameClaimTypeRetriever.get -> System.Func?
+Microsoft.IdentityModel.Tokens.ValidationParameters.NameClaimTypeRetriever.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.PropertyBag.get -> System.Collections.Generic.IDictionary!
+Microsoft.IdentityModel.Tokens.ValidationParameters.RefreshBeforeValidation.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.RefreshBeforeValidation.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.RoleClaimType.get -> string!
+Microsoft.IdentityModel.Tokens.ValidationParameters.RoleClaimType.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.RoleClaimTypeRetriever.get -> System.Func?
+Microsoft.IdentityModel.Tokens.ValidationParameters.RoleClaimTypeRetriever.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.SaveSigninToken.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.SaveSigninToken.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.SignatureValidator.get -> Microsoft.IdentityModel.Tokens.SignatureValidationDelegate?
+Microsoft.IdentityModel.Tokens.ValidationParameters.SignatureValidator.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.DecryptionKeys.get -> System.Collections.Generic.IList!
+Microsoft.IdentityModel.Tokens.ValidationParameters.SigningKeys.get -> System.Collections.Generic.IList!
+Microsoft.IdentityModel.Tokens.ValidationParameters.TokenReplayCache.get -> Microsoft.IdentityModel.Tokens.ITokenReplayCache?
+Microsoft.IdentityModel.Tokens.ValidationParameters.TokenReplayCache.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.TokenReplayValidator.get -> Microsoft.IdentityModel.Tokens.TokenReplayValidationDelegate!
+Microsoft.IdentityModel.Tokens.ValidationParameters.TokenReplayValidator.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.TokenTypeValidator.get -> Microsoft.IdentityModel.Tokens.TokenTypeValidationDelegate!
+Microsoft.IdentityModel.Tokens.ValidationParameters.TokenTypeValidator.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.TryAllDecryptionKeys.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.TryAllDecryptionKeys.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.TryAllSigningKeys.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.TryAllSigningKeys.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidAlgorithms.get -> System.Collections.Generic.IList!
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidateActor.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidateActor.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidateWithLKG.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidateWithLKG.set -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidationParameters() -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidationParameters(Microsoft.IdentityModel.Tokens.ValidationParameters! other) -> void
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidAudiences.get -> System.Collections.Generic.IList!
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidIssuers.get -> System.Collections.Generic.IList!
+Microsoft.IdentityModel.Tokens.ValidationParameters.ValidTypes.get -> System.Collections.Generic.IList!
Microsoft.IdentityModel.Tokens.SecurityTokenUnableToValidateException.ValidationFailure.get -> Microsoft.IdentityModel.Tokens.ValidationFailure
Microsoft.IdentityModel.Tokens.SecurityTokenUnableToValidateException.ValidationFailure.set -> void
Microsoft.IdentityModel.Tokens.ValidationFailure
Microsoft.IdentityModel.Tokens.ValidationFailure.InvalidIssuer = 2 -> Microsoft.IdentityModel.Tokens.ValidationFailure
Microsoft.IdentityModel.Tokens.ValidationFailure.InvalidLifetime = 1 -> Microsoft.IdentityModel.Tokens.ValidationFailure
Microsoft.IdentityModel.Tokens.ValidationFailure.None = 0 -> Microsoft.IdentityModel.Tokens.ValidationFailure
-override Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationError.GetException() -> System.Exception!
-override Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationError.GetException() -> System.Exception!
-override Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationError.GetException() -> System.Exception!
-override Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource.ToString() -> string!
-override Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationError.GetException() -> System.Exception!
-override Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationError.GetException() -> System.Exception!
-override Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationError.GetException() -> System.Exception!
-override Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationError.GetException() -> System.Exception!
-override Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationError.GetException() -> System.Exception!
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.Equals(object? obj) -> bool
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.GetHashCode() -> int
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.ToString() -> string!
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.Equals(object? obj) -> bool
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.GetHashCode() -> int
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.ToString() -> string!
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.Equals(object? obj) -> bool
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.GetHashCode() -> int
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.ToString() -> string!
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.Equals(object? obj) -> bool
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.GetHashCode() -> int
-override Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.ToString() -> string!
-static Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.operator !=(Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer left, Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer right) -> bool
-static Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer.operator ==(Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer left, Microsoft.IdentityModel.Tokens.Experimental.ValidatedIssuer right) -> bool
-static Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.operator !=(Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime left, Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime right) -> bool
-static Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime.operator ==(Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime left, Microsoft.IdentityModel.Tokens.Experimental.ValidatedLifetime right) -> bool
-static Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.operator !=(Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey left, Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey right) -> bool
-static Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey.operator ==(Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey left, Microsoft.IdentityModel.Tokens.Experimental.ValidatedSignatureKey right) -> bool
-static Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.operator !=(Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType left, Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType right) -> bool
-static Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType.operator ==(Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType left, Microsoft.IdentityModel.Tokens.Experimental.ValidatedTokenType right) -> bool
-static Microsoft.IdentityModel.Tokens.Experimental.ValidationError.GetCurrentStackFrame(string! filePath = "", int lineNumber = 0, int skipFrames = 1) -> System.Diagnostics.StackFrame!
-static Microsoft.IdentityModel.Tokens.Experimental.ValidationError.NullParameter(string! parameterName, System.Diagnostics.StackFrame! stackFrame) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationError!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationFailure.AlgorithmIsNotSupported -> Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure.AudienceDidNotMatch -> Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure.NoAudienceInToken -> Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure.NoValidationParameterAudiencesProvided -> Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure.NoIssuerInToken -> Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure.NoValidationParameterIssuersProvided -> Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource.IssuerMatchedConfiguration -> Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource.IssuerMatchedValidationParameters -> Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource.NotValidated -> Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationSource!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure.Expired -> Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure.IssuedInFuture -> Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure.NoExpirationTime -> Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure.NotbeforeGreaterThanExpirationTime -> Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure.NotYetValid -> Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure.KeyExpired -> Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure.KeyIsNull -> Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure.NotYetValid -> Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure.AlgorithmValidationFailed -> Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure.ReferenceDigestValidationFailed -> Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure.SigningKeyNotFound -> Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure.TokenIsNotSigned -> Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure.AddToCacheFailed -> Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure.NoExpiration -> Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure.TokenFoundInCache -> Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationFailure!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.CryptoProviderReturnedNull -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.KeyWrapFailed -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.NullArgument -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.SecurityTokenNotExpectedType -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.SecurityTokenTooLarge -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.SignedInfoNull -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.TokenDecompressionFailed -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.TokenDecryptionFailed -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.TokenExceedsMaximumSize -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType.TokenReadingFailed -> Microsoft.IdentityModel.Tokens.Experimental.ValidationFailureType!
-static readonly Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.DefaultClockSkew -> System.TimeSpan
-virtual Microsoft.IdentityModel.Tokens.Experimental.DecryptionKeyResolverDelegate.Invoke(string! token, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, string! kid, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext? callContext) -> System.Collections.Generic.IList!
-virtual Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyResolverDelegate.Invoke(string! token, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, string? kid, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.BaseConfiguration? configuration, Microsoft.IdentityModel.Tokens.CallContext? callContext) -> Microsoft.IdentityModel.Tokens.SecurityKey?
-virtual Microsoft.IdentityModel.Tokens.Experimental.ValidationError.GetException() -> System.Exception!
-virtual Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.Clone() -> Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters!
-virtual Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters.CreateClaimsIdentity(Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, string! issuer) -> System.Security.Claims.ClaimsIdentity!
-~Microsoft.IdentityModel.Tokens.Experimental.MessageDetail.Message.get -> string
-~Microsoft.IdentityModel.Tokens.Experimental.MessageDetail.MessageDetail(string formatString, params object[] parameters) -> void
-~Microsoft.IdentityModel.Tokens.Experimental.MessageDetail.MessageDetail(string message) -> void
+override Microsoft.IdentityModel.Tokens.AlgorithmValidationError.GetException() -> System.Exception!
+override Microsoft.IdentityModel.Tokens.AudienceValidationError.GetException() -> System.Exception!
+override Microsoft.IdentityModel.Tokens.IssuerValidationError.GetException() -> System.Exception!
+override Microsoft.IdentityModel.Tokens.IssuerValidationSource.ToString() -> string!
+override Microsoft.IdentityModel.Tokens.LifetimeValidationError.GetException() -> System.Exception!
+override Microsoft.IdentityModel.Tokens.SignatureKeyValidationError.GetException() -> System.Exception!
+override Microsoft.IdentityModel.Tokens.SignatureValidationError.GetException() -> System.Exception!
+override Microsoft.IdentityModel.Tokens.TokenReplayValidationError.GetException() -> System.Exception!
+override Microsoft.IdentityModel.Tokens.TokenTypeValidationError.GetException() -> System.Exception!
+override Microsoft.IdentityModel.Tokens.ValidatedIssuer.Equals(object? obj) -> bool
+override Microsoft.IdentityModel.Tokens.ValidatedIssuer.GetHashCode() -> int
+override Microsoft.IdentityModel.Tokens.ValidatedIssuer.ToString() -> string!
+override Microsoft.IdentityModel.Tokens.ValidatedLifetime.Equals(object? obj) -> bool
+override Microsoft.IdentityModel.Tokens.ValidatedLifetime.GetHashCode() -> int
+override Microsoft.IdentityModel.Tokens.ValidatedLifetime.ToString() -> string!
+override Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.Equals(object? obj) -> bool
+override Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.GetHashCode() -> int
+override Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.ToString() -> string!
+override Microsoft.IdentityModel.Tokens.ValidatedTokenType.Equals(object? obj) -> bool
+override Microsoft.IdentityModel.Tokens.ValidatedTokenType.GetHashCode() -> int
+override Microsoft.IdentityModel.Tokens.ValidatedTokenType.ToString() -> string!
+static Microsoft.IdentityModel.Tokens.ValidatedIssuer.operator !=(Microsoft.IdentityModel.Tokens.ValidatedIssuer left, Microsoft.IdentityModel.Tokens.ValidatedIssuer right) -> bool
+static Microsoft.IdentityModel.Tokens.ValidatedIssuer.operator ==(Microsoft.IdentityModel.Tokens.ValidatedIssuer left, Microsoft.IdentityModel.Tokens.ValidatedIssuer right) -> bool
+static Microsoft.IdentityModel.Tokens.ValidatedLifetime.operator !=(Microsoft.IdentityModel.Tokens.ValidatedLifetime left, Microsoft.IdentityModel.Tokens.ValidatedLifetime right) -> bool
+static Microsoft.IdentityModel.Tokens.ValidatedLifetime.operator ==(Microsoft.IdentityModel.Tokens.ValidatedLifetime left, Microsoft.IdentityModel.Tokens.ValidatedLifetime right) -> bool
+static Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.operator !=(Microsoft.IdentityModel.Tokens.ValidatedSignatureKey left, Microsoft.IdentityModel.Tokens.ValidatedSignatureKey right) -> bool
+static Microsoft.IdentityModel.Tokens.ValidatedSignatureKey.operator ==(Microsoft.IdentityModel.Tokens.ValidatedSignatureKey left, Microsoft.IdentityModel.Tokens.ValidatedSignatureKey right) -> bool
+static Microsoft.IdentityModel.Tokens.ValidatedTokenType.operator !=(Microsoft.IdentityModel.Tokens.ValidatedTokenType left, Microsoft.IdentityModel.Tokens.ValidatedTokenType right) -> bool
+static Microsoft.IdentityModel.Tokens.ValidatedTokenType.operator ==(Microsoft.IdentityModel.Tokens.ValidatedTokenType left, Microsoft.IdentityModel.Tokens.ValidatedTokenType right) -> bool
+static Microsoft.IdentityModel.Tokens.ValidationError.GetCurrentStackFrame(string! filePath = "", int lineNumber = 0, int skipFrames = 1) -> System.Diagnostics.StackFrame!
+static Microsoft.IdentityModel.Tokens.ValidationError.NullParameter(string! parameterName, System.Diagnostics.StackFrame! stackFrame) -> Microsoft.IdentityModel.Tokens.ValidationError!
+static readonly Microsoft.IdentityModel.Tokens.AlgorithmValidationFailure.AlgorithmIsNotSupported -> Microsoft.IdentityModel.Tokens.AlgorithmValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.AlgorithmValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.AlgorithmValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.AlgorithmValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.AlgorithmValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.AudienceValidationFailure.AudienceDidNotMatch -> Microsoft.IdentityModel.Tokens.AudienceValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.AudienceValidationFailure.NoAudienceInToken -> Microsoft.IdentityModel.Tokens.AudienceValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.AudienceValidationFailure.NoValidationParameterAudiencesProvided -> Microsoft.IdentityModel.Tokens.AudienceValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.AudienceValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.AudienceValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.IssuerValidationFailure.NoIssuerInToken -> Microsoft.IdentityModel.Tokens.IssuerValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.IssuerValidationFailure.NoValidationParameterIssuersProvided -> Microsoft.IdentityModel.Tokens.IssuerValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.IssuerValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.IssuerValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.IssuerValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.IssuerValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.IssuerValidationSource.IssuerMatchedConfiguration -> Microsoft.IdentityModel.Tokens.IssuerValidationSource!
+static readonly Microsoft.IdentityModel.Tokens.IssuerValidationSource.IssuerMatchedValidationParameters -> Microsoft.IdentityModel.Tokens.IssuerValidationSource!
+static readonly Microsoft.IdentityModel.Tokens.IssuerValidationSource.NotValidated -> Microsoft.IdentityModel.Tokens.IssuerValidationSource!
+static readonly Microsoft.IdentityModel.Tokens.LifetimeValidationFailure.Expired -> Microsoft.IdentityModel.Tokens.LifetimeValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.LifetimeValidationFailure.IssuedInFuture -> Microsoft.IdentityModel.Tokens.LifetimeValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.LifetimeValidationFailure.NoExpirationTime -> Microsoft.IdentityModel.Tokens.LifetimeValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.LifetimeValidationFailure.NotbeforeGreaterThanExpirationTime -> Microsoft.IdentityModel.Tokens.LifetimeValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.LifetimeValidationFailure.NotYetValid -> Microsoft.IdentityModel.Tokens.LifetimeValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.LifetimeValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.LifetimeValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.LifetimeValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.LifetimeValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure.KeyExpired -> Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure.KeyIsNull -> Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure.NotYetValid -> Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.SignatureKeyValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureValidationFailure.AlgorithmValidationFailed -> Microsoft.IdentityModel.Tokens.SignatureValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureValidationFailure.ReferenceDigestValidationFailed -> Microsoft.IdentityModel.Tokens.SignatureValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureValidationFailure.SigningKeyNotFound -> Microsoft.IdentityModel.Tokens.SignatureValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureValidationFailure.TokenIsNotSigned -> Microsoft.IdentityModel.Tokens.SignatureValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.SignatureValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.SignatureValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.SignatureValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure.AddToCacheFailed -> Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure.NoExpiration -> Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure.TokenFoundInCache -> Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.TokenReplayValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.TokenTypeValidationFailure.ValidationFailed -> Microsoft.IdentityModel.Tokens.TokenTypeValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.TokenTypeValidationFailure.ValidatorThrew -> Microsoft.IdentityModel.Tokens.TokenTypeValidationFailure!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.CryptoProviderReturnedNull -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.KeyWrapFailed -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.NullArgument -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.SecurityTokenNotExpectedType -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.SecurityTokenTooLarge -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.SignedInfoNull -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.TokenDecompressionFailed -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.TokenDecryptionFailed -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.TokenExceedsMaximumSize -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationFailureType.TokenReadingFailed -> Microsoft.IdentityModel.Tokens.ValidationFailureType!
+static readonly Microsoft.IdentityModel.Tokens.ValidationParameters.DefaultClockSkew -> System.TimeSpan
+virtual Microsoft.IdentityModel.Tokens.DecryptionKeyResolverDelegate.Invoke(string! token, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, string! kid, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext? callContext) -> System.Collections.Generic.IList!
+virtual Microsoft.IdentityModel.Tokens.SignatureKeyResolverDelegate.Invoke(string! token, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, string? kid, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.BaseConfiguration? configuration, Microsoft.IdentityModel.Tokens.CallContext? callContext) -> Microsoft.IdentityModel.Tokens.SecurityKey?
+virtual Microsoft.IdentityModel.Tokens.ValidationError.GetException() -> System.Exception!
+virtual Microsoft.IdentityModel.Tokens.ValidationParameters.Clone() -> Microsoft.IdentityModel.Tokens.ValidationParameters!
+virtual Microsoft.IdentityModel.Tokens.ValidationParameters.CreateClaimsIdentity(Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, string! issuer) -> System.Security.Claims.ClaimsIdentity!
+~Microsoft.IdentityModel.Tokens.MessageDetail.Message.get -> string
+~Microsoft.IdentityModel.Tokens.MessageDetail.MessageDetail(string formatString, params object[] parameters) -> void
+~Microsoft.IdentityModel.Tokens.MessageDetail.MessageDetail(string message) -> void
~Microsoft.IdentityModel.Tokens.SecurityTokenUnableToValidateException.SecurityTokenUnableToValidateException(Microsoft.IdentityModel.Tokens.ValidationFailure validationFailure, string message) -> void
-~static Microsoft.IdentityModel.Tokens.Experimental.MessageDetail.NullParameter(string parameterName) -> Microsoft.IdentityModel.Tokens.Experimental.MessageDetail
+~static Microsoft.IdentityModel.Tokens.MessageDetail.NullParameter(string parameterName) -> Microsoft.IdentityModel.Tokens.MessageDetail
Microsoft.IdentityModel.Tokens.JsonWebKeySet.JsonData.get -> string
Microsoft.IdentityModel.Tokens.JsonWebKeySet.JsonData.set -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.Error.get -> TError?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.Result.get -> TResult?
-Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.Succeeded.get -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.ValidationResult() -> void
-Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.ValidationResult(TResult result) -> void
-static Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.implicit operator Microsoft.IdentityModel.Tokens.Experimental.ValidationResult(TResult result) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-static Microsoft.IdentityModel.Tokens.Validators.ValidateIssuerAsync(string? issuer, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext? callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>!
-virtual Microsoft.IdentityModel.Tokens.Experimental.AlgorithmValidationDelegate.Invoke(string? algorithm, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-virtual Microsoft.IdentityModel.Tokens.Experimental.LifetimeValidationDelegate.Invoke(System.DateTime? notBefore, System.DateTime? expires, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-virtual Microsoft.IdentityModel.Tokens.Experimental.SignatureKeyValidationDelegate.Invoke(Microsoft.IdentityModel.Tokens.SecurityKey! signingKey, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-virtual Microsoft.IdentityModel.Tokens.Experimental.SignatureValidationDelegate.Invoke(Microsoft.IdentityModel.Tokens.SecurityToken! token, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.BaseConfiguration? configuration, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-virtual Microsoft.IdentityModel.Tokens.Experimental.TokenReplayValidationDelegate.Invoke(System.DateTime? expirationTime, string! securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-virtual Microsoft.IdentityModel.Tokens.Experimental.TokenTypeValidationDelegate.Invoke(string? type, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-Microsoft.IdentityModel.Tokens.Experimental.IResultBasedValidation.ValidateTokenAsync(Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> System.Threading.Tasks.Task>!
-Microsoft.IdentityModel.Tokens.Experimental.IResultBasedValidation.ValidateTokenAsync(Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>!
-Microsoft.IdentityModel.Tokens.Experimental.IResultBasedValidation.ValidateTokenAsync(string! token, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> System.Threading.Tasks.Task>!
-Microsoft.IdentityModel.Tokens.Experimental.IResultBasedValidation.ValidateTokenAsync(string! token, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>!
-Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.ToValidationResult() -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-static Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.implicit operator Microsoft.IdentityModel.Tokens.Experimental.ValidationResult(TError! error) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-virtual Microsoft.IdentityModel.Tokens.Experimental.AudienceValidationDelegate.Invoke(System.Collections.Generic.IList! tokenAudiences, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-virtual Microsoft.IdentityModel.Tokens.Experimental.IssuerValidationDelegateAsync.Invoke(string! issuer, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>!
-~static Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.operator !=(Microsoft.IdentityModel.Tokens.Experimental.ValidationResult left, Microsoft.IdentityModel.Tokens.Experimental.ValidationResult right) -> bool
-Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.ValidationResult(TError! error) -> void
-~override Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.ToString() -> string
-override Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.GetHashCode() -> int
-static Microsoft.IdentityModel.Tokens.Validators.ValidateAlgorithm(string? algorithm, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-static Microsoft.IdentityModel.Tokens.Validators.ValidateAudience(System.Collections.Generic.IList! tokenAudiences, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-static Microsoft.IdentityModel.Tokens.Validators.ValidateLifetime(System.DateTime? notBefore, System.DateTime? expires, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-static Microsoft.IdentityModel.Tokens.Validators.ValidateTokenReplay(System.DateTime? expires, string! securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-static Microsoft.IdentityModel.Tokens.Validators.ValidateSignatureKey(Microsoft.IdentityModel.Tokens.SecurityKey! securityKey, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-static Microsoft.IdentityModel.Tokens.Validators.ValidateTokenType(string? type, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.Experimental.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.Experimental.ValidationResult
-~override Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.Equals(object obj) -> bool
-~Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.Equals(Microsoft.IdentityModel.Tokens.Experimental.ValidationResult other) -> bool
-~static Microsoft.IdentityModel.Tokens.Experimental.ValidationResult.operator ==(Microsoft.IdentityModel.Tokens.Experimental.ValidationResult left, Microsoft.IdentityModel.Tokens.Experimental.ValidationResult right) -> bool
+Microsoft.IdentityModel.Tokens.ValidationResult
+Microsoft.IdentityModel.Tokens.ValidationResult.Error.get -> TError?
+Microsoft.IdentityModel.Tokens.ValidationResult.Result.get -> TResult?
+Microsoft.IdentityModel.Tokens.ValidationResult.Succeeded.get -> bool
+Microsoft.IdentityModel.Tokens.ValidationResult.ValidationResult() -> void
+Microsoft.IdentityModel.Tokens.ValidationResult.ValidationResult(TResult result) -> void
+static Microsoft.IdentityModel.Tokens.ValidationResult.implicit operator Microsoft.IdentityModel.Tokens.ValidationResult(TResult result) -> Microsoft.IdentityModel.Tokens.ValidationResult
+static Microsoft.IdentityModel.Tokens.Validators.ValidateIssuerAsync(string? issuer, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext? callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>!
+virtual Microsoft.IdentityModel.Tokens.AlgorithmValidationDelegate.Invoke(string? algorithm, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+virtual Microsoft.IdentityModel.Tokens.LifetimeValidationDelegate.Invoke(System.DateTime? notBefore, System.DateTime? expires, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+virtual Microsoft.IdentityModel.Tokens.SignatureKeyValidationDelegate.Invoke(Microsoft.IdentityModel.Tokens.SecurityKey! signingKey, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+virtual Microsoft.IdentityModel.Tokens.SignatureValidationDelegate.Invoke(Microsoft.IdentityModel.Tokens.SecurityToken! token, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.BaseConfiguration? configuration, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+virtual Microsoft.IdentityModel.Tokens.TokenReplayValidationDelegate.Invoke(System.DateTime? expirationTime, string! securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+virtual Microsoft.IdentityModel.Tokens.TokenTypeValidationDelegate.Invoke(string? type, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+Microsoft.IdentityModel.Tokens.IResultBasedValidation.ValidateTokenAsync(Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> System.Threading.Tasks.Task>!
+Microsoft.IdentityModel.Tokens.IResultBasedValidation.ValidateTokenAsync(Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>!
+Microsoft.IdentityModel.Tokens.IResultBasedValidation.ValidateTokenAsync(string! token, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> System.Threading.Tasks.Task>!
+Microsoft.IdentityModel.Tokens.IResultBasedValidation.ValidateTokenAsync(string! token, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>!
+Microsoft.IdentityModel.Tokens.ValidationResult.ToValidationResult() -> Microsoft.IdentityModel.Tokens.ValidationResult
+static Microsoft.IdentityModel.Tokens.ValidationResult.implicit operator Microsoft.IdentityModel.Tokens.ValidationResult(TError! error) -> Microsoft.IdentityModel.Tokens.ValidationResult
+virtual Microsoft.IdentityModel.Tokens.AudienceValidationDelegate.Invoke(System.Collections.Generic.IList! tokenAudiences, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+virtual Microsoft.IdentityModel.Tokens.IssuerValidationDelegateAsync.Invoke(string! issuer, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>!
+~static Microsoft.IdentityModel.Tokens.ValidationResult.operator !=(Microsoft.IdentityModel.Tokens.ValidationResult left, Microsoft.IdentityModel.Tokens.ValidationResult right) -> bool
+Microsoft.IdentityModel.Tokens.ValidationResult.ValidationResult(TError! error) -> void
+~override Microsoft.IdentityModel.Tokens.ValidationResult.ToString() -> string
+override Microsoft.IdentityModel.Tokens.ValidationResult.GetHashCode() -> int
+static Microsoft.IdentityModel.Tokens.Validators.ValidateAlgorithm(string? algorithm, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+static Microsoft.IdentityModel.Tokens.Validators.ValidateAudience(System.Collections.Generic.IList! tokenAudiences, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+static Microsoft.IdentityModel.Tokens.Validators.ValidateLifetime(System.DateTime? notBefore, System.DateTime? expires, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+static Microsoft.IdentityModel.Tokens.Validators.ValidateTokenReplay(System.DateTime? expires, string! securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+static Microsoft.IdentityModel.Tokens.Validators.ValidateSignatureKey(Microsoft.IdentityModel.Tokens.SecurityKey! securityKey, Microsoft.IdentityModel.Tokens.SecurityToken! securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+static Microsoft.IdentityModel.Tokens.Validators.ValidateTokenType(string? type, Microsoft.IdentityModel.Tokens.SecurityToken? securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters! validationParameters, Microsoft.IdentityModel.Tokens.CallContext! callContext) -> Microsoft.IdentityModel.Tokens.ValidationResult
+~override Microsoft.IdentityModel.Tokens.ValidationResult.Equals(object obj) -> bool
+~Microsoft.IdentityModel.Tokens.ValidationResult.Equals(Microsoft.IdentityModel.Tokens.ValidationResult other) -> bool
+~static Microsoft.IdentityModel.Tokens.ValidationResult.operator ==(Microsoft.IdentityModel.Tokens.ValidationResult left, Microsoft.IdentityModel.Tokens.ValidationResult right) -> bool
+~virtual Microsoft.IdentityModel.Tokens.TokenHandler.ValidateTokenAsync(string token, Microsoft.IdentityModel.Tokens.ValidationParameters validationParameters, Microsoft.IdentityModel.Tokens.CallContext callContext) -> System.Threading.Tasks.Task>
+~virtual Microsoft.IdentityModel.Tokens.TokenHandler.ValidateTokenAsync(string token, Microsoft.IdentityModel.Tokens.ValidationParameters validationParameters, Microsoft.IdentityModel.Tokens.CallContext callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>
+~virtual Microsoft.IdentityModel.Tokens.TokenHandler.ValidateTokenAsync(Microsoft.IdentityModel.Tokens.SecurityToken securityToken, Microsoft.IdentityModel.Tokens.ValidationParameters validationParameters, Microsoft.IdentityModel.Tokens.CallContext callContext) -> System.Threading.Tasks.Task>
+~virtual Microsoft.IdentityModel.Tokens.TokenHandler.ValidateTokenAsync(Microsoft.IdentityModel.Tokens.SecurityToken token, Microsoft.IdentityModel.Tokens.ValidationParameters validationParameters, Microsoft.IdentityModel.Tokens.CallContext callContext, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task>
diff --git a/src/Microsoft.IdentityModel.Tokens/TokenHandler.cs b/src/Microsoft.IdentityModel.Tokens/TokenHandler.cs
index c293f930ac..7921bba8b7 100644
--- a/src/Microsoft.IdentityModel.Tokens/TokenHandler.cs
+++ b/src/Microsoft.IdentityModel.Tokens/TokenHandler.cs
@@ -4,6 +4,7 @@
using System;
using System.ComponentModel;
using System.Security.Claims;
+using System.Threading;
using System.Threading.Tasks;
using static Microsoft.IdentityModel.Logging.LogHelper;
@@ -12,7 +13,7 @@ namespace Microsoft.IdentityModel.Tokens
///
/// Defines properties shared across all security token handlers.
///
- public abstract partial class TokenHandler
+ public abstract partial class TokenHandler : IResultBasedValidation
{
private int _defaultTokenLifetimeInMinutes = DefaultTokenLifetimeInMinutes;
private int _maximumTokenSizeInBytes = TokenValidationParameters.DefaultMaximumTokenSizeInBytes;
@@ -124,6 +125,80 @@ internal virtual ClaimsIdentity CreateClaimsIdentityInternal(SecurityToken secur
MarkAsNonPII("internal virtual ClaimsIdentity CreateClaimsIdentityInternal(SecurityToken securityToken, TokenValidationParameters tokenValidationParameters, string issuer)"),
MarkAsNonPII(GetType().FullName))));
}
+
+ ///
+ /// Called by base class to create a .
+ /// Currently only used by the JsonWebTokenHandler when called with ValidationParameters to allow for a Lazy creation.
+ ///
+ /// the that has the Claims.
+ /// the that was used to validate the token.
+ /// the 'issuer' to use by default when creating a Claim.
+ /// A .
+ ///
+ internal virtual ClaimsIdentity CreateClaimsIdentityInternal(
+ SecurityToken securityToken,
+ ValidationParameters validationParameters,
+ string issuer)
+ {
+ throw LogExceptionMessage(
+ new NotImplementedException(
+ FormatInvariant(
+ LogMessages.IDX10267,
+ MarkAsNonPII("internal virtual ClaimsIdentity CreateClaimsIdentityInternal(SecurityToken securityToken, ValidationParameters validationParameters, string issuer)"),
+ MarkAsNonPII(GetType().FullName))));
+ }
+
+ #region IResultBasedValidation Implementation
+ ///
+ public virtual Task> ValidateTokenAsync(
+ string token,
+ ValidationParameters validationParameters,
+ CallContext callContext)
+ {
+ return ValidateTokenAsync(token, validationParameters, callContext, CancellationToken.None);
+ }
+
+ ///
+ public virtual Task> ValidateTokenAsync(
+ string token,
+ ValidationParameters validationParameters,
+ CallContext callContext,
+ CancellationToken cancellationToken)
+ {
+ throw LogExceptionMessage(
+ new NotImplementedException(
+ FormatInvariant(
+ LogMessages.IDX10267,
+ MarkAsNonPII("public virtual Task> " +
+ "ValidateTokenAsync(string token, ValidationParameters validationParameters, CallContext callContext, CancellationToken cancellationToken)"),
+ MarkAsNonPII(GetType().FullName))));
+ }
+
+ ///
+ public virtual Task> ValidateTokenAsync(
+ SecurityToken securityToken,
+ ValidationParameters validationParameters,
+ CallContext callContext)
+ {
+ return ValidateTokenAsync(securityToken, validationParameters, callContext, CancellationToken.None);
+ }
+
+ ///
+ public virtual Task> ValidateTokenAsync(
+ SecurityToken token,
+ ValidationParameters validationParameters,
+ CallContext callContext,
+ CancellationToken cancellationToken)
+ {
+ throw LogExceptionMessage(
+ new NotImplementedException(
+ FormatInvariant(
+ LogMessages.IDX10267,
+ MarkAsNonPII("public virtual Task> " +
+ "ValidateTokenAsync(SecurityToken token, ValidationParameters validationParameters, CallContext callContext, CancellationToken cancellationToken)"),
+ MarkAsNonPII(GetType().FullName))));
+ }
+ #endregion
#endregion
}
}
diff --git a/src/Microsoft.IdentityModel.Tokens/TokenUtilities.cs b/src/Microsoft.IdentityModel.Tokens/TokenUtilities.cs
index a9f89617eb..d1709233c5 100644
--- a/src/Microsoft.IdentityModel.Tokens/TokenUtilities.cs
+++ b/src/Microsoft.IdentityModel.Tokens/TokenUtilities.cs
@@ -7,7 +7,7 @@
using System.Linq;
using System.Security.Claims;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
using JsonPrimitives = Microsoft.IdentityModel.Tokens.Json.JsonSerializerPrimitives;
using TokenLogMessages = Microsoft.IdentityModel.Tokens.LogMessages;
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/AlgorithmValidationError.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/AlgorithmValidationError.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/AlgorithmValidationError.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/AlgorithmValidationError.cs
index 96d02500fe..abc4946656 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/AlgorithmValidationError.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/AlgorithmValidationError.cs
@@ -5,7 +5,7 @@
using System.Diagnostics;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validation error when the algorithm is not valid.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/AudienceValidationError.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/AudienceValidationError.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/AudienceValidationError.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/AudienceValidationError.cs
index 72f8fc4685..2b060b39b6 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/AudienceValidationError.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/AudienceValidationError.cs
@@ -6,7 +6,7 @@
using System.Diagnostics;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validation error when the audience is not valid.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/IssuerValidationError.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/IssuerValidationError.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/IssuerValidationError.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/IssuerValidationError.cs
index 9d4661d2e4..a48ef26bfd 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/IssuerValidationError.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/IssuerValidationError.cs
@@ -5,7 +5,7 @@
using System.Diagnostics;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validation error when the is not valid.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/LifetimeValidationError.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/LifetimeValidationError.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/LifetimeValidationError.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/LifetimeValidationError.cs
index 1fa4b5ae9d..087b3f4f1e 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/LifetimeValidationError.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/LifetimeValidationError.cs
@@ -5,7 +5,7 @@
using System.Diagnostics;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents an error that occurs when a token's lifetime cannot be validated.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/MessageDetail.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/MessageDetail.cs
similarity index 97%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/MessageDetail.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/MessageDetail.cs
index 07dcf331b4..a8f640cb9d 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/MessageDetail.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/MessageDetail.cs
@@ -3,7 +3,7 @@
using Microsoft.IdentityModel.Logging;
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Contains information about a message that is used to generate a message for logging or exceptions.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/SignatureKeyValidationError.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/SignatureKeyValidationError.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/SignatureKeyValidationError.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/SignatureKeyValidationError.cs
index 94cca5d41f..7bbf0d507c 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/SignatureKeyValidationError.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/SignatureKeyValidationError.cs
@@ -5,7 +5,7 @@
using System;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validation error when the that signed the is not valid.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/SignatureValidationError.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/SignatureValidationError.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/SignatureValidationError.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/SignatureValidationError.cs
index 053d873c21..da212aa5e3 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/SignatureValidationError.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/SignatureValidationError.cs
@@ -5,7 +5,7 @@
using System.Diagnostics;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validation error when the signature is not valid.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/TokenReplayValidationError.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/TokenReplayValidationError.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/TokenReplayValidationError.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/TokenReplayValidationError.cs
index 17a6ca045b..09650a4471 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/TokenReplayValidationError.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/TokenReplayValidationError.cs
@@ -5,7 +5,7 @@
using System.Diagnostics;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validation error when a replay is detected.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/TokenTypeValidationError.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/TokenTypeValidationError.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/TokenTypeValidationError.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/TokenTypeValidationError.cs
index 6daf983687..f09432a188 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/TokenTypeValidationError.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/TokenTypeValidationError.cs
@@ -5,7 +5,7 @@
using System.Diagnostics;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validation error when the type is not valid.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/ValidationError.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/ValidationError.cs
similarity index 99%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/ValidationError.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/ValidationError.cs
index ea8b3b51e7..c1c50a02cc 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/ValidationError.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/ValidationError.cs
@@ -8,7 +8,7 @@
using System.Runtime.CompilerServices;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents an error that occurred during a validation.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/ValidationResult.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/ValidationResult.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/ValidationResult.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/ValidationResult.cs
index b08f08a52e..533f248fd8 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/Details/ValidationResult.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/Details/ValidationResult.cs
@@ -8,7 +8,7 @@
#endif
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents the result of an validation that can either succeed with a valid result or failed with a specific error.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/IssuerValidationSource.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/IssuerValidationSource.cs
similarity index 97%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/IssuerValidationSource.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/IssuerValidationSource.cs
index fb59fc677c..a4cd3dc237 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/IssuerValidationSource.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/IssuerValidationSource.cs
@@ -2,7 +2,7 @@
// Licensed under the MIT License.
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents the source from which the token issuer was validated.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedIssuer.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedIssuer.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedIssuer.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedIssuer.cs
index 41dbaf9d10..3f1b826db8 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedIssuer.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedIssuer.cs
@@ -4,7 +4,7 @@
using System;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validated issuer, including the source of the validation.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedLifetime.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedLifetime.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedLifetime.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedLifetime.cs
index e19cb62127..e30ef3f96e 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedLifetime.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedLifetime.cs
@@ -4,7 +4,7 @@
using System;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validated lifetime, including the NotBefore and Expires values.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedSignatureKey.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedSignatureKey.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedSignatureKey.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedSignatureKey.cs
index e1b14c9ca5..ef5698741d 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedSignatureKey.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedSignatureKey.cs
@@ -4,7 +4,7 @@
using System;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validated signature key.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedToken.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedToken.cs
similarity index 99%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedToken.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedToken.cs
index 2a11e7c71d..b170413ae4 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedToken.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedToken.cs
@@ -8,7 +8,7 @@
using System.Threading;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Contains the results of successfully validating a .
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedTokenType.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedTokenType.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedTokenType.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedTokenType.cs
index d7c4054887..02325299c7 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Results/ValidatedTokenType.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Results/ValidatedTokenType.cs
@@ -4,7 +4,7 @@
using System;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Represents a validated token type, including the number of valid types present in the validation parameters.
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationFailureType.cs b/src/Microsoft.IdentityModel.Tokens/Validation/ValidationFailureType.cs
similarity index 93%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationFailureType.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/ValidationFailureType.cs
index 5272cf550a..c796b83c11 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationFailureType.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/ValidationFailureType.cs
@@ -2,7 +2,7 @@
// Licensed under the MIT License.
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Failures that occur during validation of a .
@@ -98,26 +98,26 @@ protected AudienceValidationFailure(string name) : base(name)
///
/// Audience validation failed.
///
- public static readonly Experimental.AudienceValidationFailure AudienceDidNotMatch = new AudienceValidationFailed("AudienceDidNotMatch");
- private class AudienceValidationFailed : Experimental.AudienceValidationFailure { internal AudienceValidationFailed(string name) : base(name) { } }
+ public static readonly AudienceValidationFailure AudienceDidNotMatch = new AudienceValidationFailed("AudienceDidNotMatch");
+ private class AudienceValidationFailed : AudienceValidationFailure { internal AudienceValidationFailed(string name) : base(name) { } }
///
/// Audience validation delegate threw an exception.
///
- public static readonly Experimental.AudienceValidationFailure ValidatorThrew = new AudienceValidatorThrewFailure("AudienceValidatorThrew");
- private class AudienceValidatorThrewFailure : Experimental.AudienceValidationFailure { internal AudienceValidatorThrewFailure(string name) : base(name) { } }
+ public static readonly AudienceValidationFailure ValidatorThrew = new AudienceValidatorThrewFailure("AudienceValidatorThrew");
+ private class AudienceValidatorThrewFailure : AudienceValidationFailure { internal AudienceValidatorThrewFailure(string name) : base(name) { } }
///
/// No audience found in the .
///
- public static readonly Experimental.AudienceValidationFailure NoAudienceInToken = new NoAudienceInTokenFailure("NoAudienceInToken");
- private class NoAudienceInTokenFailure : Experimental.AudienceValidationFailure { internal NoAudienceInTokenFailure(string name) : base(name) { } }
+ public static readonly AudienceValidationFailure NoAudienceInToken = new NoAudienceInTokenFailure("NoAudienceInToken");
+ private class NoAudienceInTokenFailure : AudienceValidationFailure { internal NoAudienceInTokenFailure(string name) : base(name) { } }
///
/// No audiences were found in .
///
- public static readonly Experimental.AudienceValidationFailure NoValidationParameterAudiencesProvided = new NoValidationParameterAudiencesProvidedFailure("NoValidationParameterAudiencesProvided");
- private class NoValidationParameterAudiencesProvidedFailure : Experimental.AudienceValidationFailure { internal NoValidationParameterAudiencesProvidedFailure(string name) : base(name) { } }
+ public static readonly AudienceValidationFailure NoValidationParameterAudiencesProvided = new NoValidationParameterAudiencesProvidedFailure("NoValidationParameterAudiencesProvided");
+ private class NoValidationParameterAudiencesProvidedFailure : AudienceValidationFailure { internal NoValidationParameterAudiencesProvidedFailure(string name) : base(name) { } }
}
///
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationParameters.cs b/src/Microsoft.IdentityModel.Tokens/Validation/ValidationParameters.cs
similarity index 99%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationParameters.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/ValidationParameters.cs
index 7ac91cca2a..13ce4f8924 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/ValidationParameters.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/ValidationParameters.cs
@@ -9,7 +9,7 @@
using Microsoft.IdentityModel.Logging;
#nullable enable
-namespace Microsoft.IdentityModel.Tokens.Experimental
+namespace Microsoft.IdentityModel.Tokens
{
///
/// Contains a set of parameters that are used by a when validating a .
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Algorithm.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.Algorithm.cs
similarity index 98%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Algorithm.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Validators.Algorithm.cs
index d590d35dd4..df0fb11d3a 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Algorithm.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.Algorithm.cs
@@ -4,7 +4,7 @@
using System;
using System.Linq;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Audience.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.Audience.cs
similarity index 99%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Audience.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Validators.Audience.cs
index 5afd666b5e..516bfdae88 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Audience.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.Audience.cs
@@ -5,7 +5,7 @@
using System.Collections.Generic;
using Microsoft.IdentityModel.Abstractions;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Issuer.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.Issuer.cs
similarity index 99%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Issuer.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Validators.Issuer.cs
index 0f5700959b..4f2a9e58b1 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Issuer.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.Issuer.cs
@@ -5,7 +5,7 @@
using System.Threading;
using System.Threading.Tasks;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Lifetime.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.Lifetime.cs
similarity index 99%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Lifetime.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Validators.Lifetime.cs
index 2668d70e15..f84f6dc158 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.Lifetime.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.Lifetime.cs
@@ -3,7 +3,7 @@
using System;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.SignatureKey.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.SignatureKey.cs
similarity index 99%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.SignatureKey.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Validators.SignatureKey.cs
index b16308fb20..2f263de529 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.SignatureKey.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.SignatureKey.cs
@@ -4,7 +4,7 @@
using System;
using System.Security.Cryptography.X509Certificates;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.TokenReplay.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.TokenReplay.cs
similarity index 99%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.TokenReplay.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Validators.TokenReplay.cs
index f3bd77273b..facdbf9863 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.TokenReplay.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.TokenReplay.cs
@@ -2,7 +2,7 @@
// Licensed under the MIT License.
using System;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens
diff --git a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.TokenType.cs b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.TokenType.cs
similarity index 99%
rename from src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.TokenType.cs
rename to src/Microsoft.IdentityModel.Tokens/Validation/Validators.TokenType.cs
index b21161ed46..ee93f2b501 100644
--- a/src/Microsoft.IdentityModel.Tokens/Experimental/Validation/Validators.TokenType.cs
+++ b/src/Microsoft.IdentityModel.Tokens/Validation/Validators.TokenType.cs
@@ -4,7 +4,7 @@
using System;
using System.Linq;
using Microsoft.IdentityModel.Logging;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#nullable enable
namespace Microsoft.IdentityModel.Tokens
diff --git a/src/Microsoft.IdentityModel.Validators/Experimental/AadIssuerValidator.Internal.cs b/src/Microsoft.IdentityModel.Validators/Experimental/AadIssuerValidator.Internal.cs
index 6c746beaf9..fac20edddc 100644
--- a/src/Microsoft.IdentityModel.Validators/Experimental/AadIssuerValidator.Internal.cs
+++ b/src/Microsoft.IdentityModel.Validators/Experimental/AadIssuerValidator.Internal.cs
@@ -7,7 +7,7 @@
using System.Threading;
using Microsoft.IdentityModel.Logging;
using System.Diagnostics;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Validators
{
diff --git a/src/Microsoft.IdentityModel.Validators/Experimental/AadValidationParametersExtension.Internal.cs b/src/Microsoft.IdentityModel.Validators/Experimental/AadValidationParametersExtension.Internal.cs
index 045b289208..9384d8288b 100644
--- a/src/Microsoft.IdentityModel.Validators/Experimental/AadValidationParametersExtension.Internal.cs
+++ b/src/Microsoft.IdentityModel.Validators/Experimental/AadValidationParametersExtension.Internal.cs
@@ -6,7 +6,7 @@
using Microsoft.IdentityModel.Logging;
using Microsoft.IdentityModel.Protocols.OpenIdConnect;
using Microsoft.IdentityModel.Tokens;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Validators
{
diff --git a/src/Microsoft.IdentityModel.Xml/Experimental/Reference.Experimental.cs b/src/Microsoft.IdentityModel.Xml/Experimental/Reference.Experimental.cs
index 5fe6bb4729..99753f36ea 100644
--- a/src/Microsoft.IdentityModel.Xml/Experimental/Reference.Experimental.cs
+++ b/src/Microsoft.IdentityModel.Xml/Experimental/Reference.Experimental.cs
@@ -4,7 +4,7 @@
using System;
using System.Security.Cryptography;
using Microsoft.IdentityModel.Tokens;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Xml
{
diff --git a/src/Microsoft.IdentityModel.Xml/Experimental/Signature.Experimental.cs b/src/Microsoft.IdentityModel.Xml/Experimental/Signature.Experimental.cs
index 7c8f6173b1..2e2416b528 100644
--- a/src/Microsoft.IdentityModel.Xml/Experimental/Signature.Experimental.cs
+++ b/src/Microsoft.IdentityModel.Xml/Experimental/Signature.Experimental.cs
@@ -5,7 +5,7 @@
using System.IO;
using Microsoft.IdentityModel.Logging;
using Microsoft.IdentityModel.Tokens;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Xml
{
diff --git a/src/Microsoft.IdentityModel.Xml/Experimental/SignedInfo.Experimental.cs b/src/Microsoft.IdentityModel.Xml/Experimental/SignedInfo.Experimental.cs
index 36df68ee15..4260eec58b 100644
--- a/src/Microsoft.IdentityModel.Xml/Experimental/SignedInfo.Experimental.cs
+++ b/src/Microsoft.IdentityModel.Xml/Experimental/SignedInfo.Experimental.cs
@@ -2,7 +2,7 @@
// Licensed under the MIT License.
using Microsoft.IdentityModel.Tokens;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
namespace Microsoft.IdentityModel.Xml
{
diff --git a/src/Microsoft.IdentityModel.Xml/Experimental/XmlValidationException.Experimental.cs b/src/Microsoft.IdentityModel.Xml/Experimental/XmlValidationException.Experimental.cs
index 883c85883a..f14753f3c8 100644
--- a/src/Microsoft.IdentityModel.Xml/Experimental/XmlValidationException.Experimental.cs
+++ b/src/Microsoft.IdentityModel.Xml/Experimental/XmlValidationException.Experimental.cs
@@ -3,7 +3,7 @@
using System;
using System.Diagnostics;
-using Microsoft.IdentityModel.Tokens.Experimental;
+using Microsoft.IdentityModel.Tokens;
#if !NET8_0_OR_GREATER
using System.Text;