Update IdentityModel.Tokens to v8 (major) #3480
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
7.6.0
->8.2.0
7.6.0
->8.2.0
Release Notes
AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet (Microsoft.IdentityModel.Tokens)
v8.2.0
Compare Source
=====
Fundamentals
Work related to redesign of IdentityModel's token validation logic #2711
v8.1.2
Compare Source
=====
Bug fixes
CaseSensitiveClaimsIdentity
as expected. See 2879Fundamentals
v8.1.1
Compare Source
=====
Bug fixes
v8.1.0
Compare Source
=====
Performance improvements
New features
Bug fixes
Fundamentals
IsTargetFrameworkCompatible(*)
so AOT is forward-compatible with .NET 9 and beyond. See PR #2790 for details.[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)]. See PR #2820.
Work related to redesign of IdentityModel's token validation logic #2711
v8.0.2
Compare Source
=====
Security fundamentals
BannedApiAnalyzers
to prevent use ofClaimsIdentity
constructors. See PR #2778 for details.Bug fixes
UseRfcDefinitionOfEpkAndKid
switch. See PR #2747 for details.DoNotFailOnMissingTid
in 7x andDontFailOnMissingTid
in 8x, adding the method for back compat. See issue #2750 for details.JsonWebKeySet
stores the original string it was created with. See PR #2755 for details.SignatureProvider
. See #2788 for details.Fundamentals
9.0.100-preview.7.24407.12
and add<NoWarn>$(NoWarn);SYSLIB0057</NoWarn>
due to breaking changes in preview7. #2786.Work relating to #2711
v8.0.1
Compare Source
=====
Bug fixes
SignatureProvider
was disposed but still able to leverage the cache andSignatureProvider
now disposes when compacting. See PR #2682 for details.JsonWebTokenHandler.ValidateJWEAsync
now considers the decrypt keys in the configuration. See issue #2737 for details.Performance improvement
AppContext.TryGetSwitch
statically caches internally but takes out a lock..NET almost always caches these values. They're not expected to change while the process is running unlike normal config. IdentityModel now caches the value. See issue #2722 for details.
v8.0.0
Compare Source
=====
CVE package updates
CVE-2024-30105
Breaking change:
Full list of breaking changes.
ClaimsIdentity
where claim retrieval is case-sensitive. The currentClaimsIdentity
, in .NET, retrieves claims in a case-insensitive manner which is different than querying the underlyingSecurityToken
. The newCaseSensitiveClaimsIdentity
class provides consistent retrieval logic withSecurityToken
. Fallback to previous behavior via an AppContext switch. See PR #2700 for details.CollectionUtilities.IsNullOrEmpty
internal. See issues**https://redirect.github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/2651dotnet/issues/2651) and #1722 for details.Overall improvements to the validation in IdentityModel:
New Features:
Stream
toWrite
inOIDCConfigurationSerializer
. See PR #2698 for details.Bug fixes:
AadIssuerValidator.GetTenantIdFromToken
inValidateIssuerSigningKey
, to only consider thetid
. An AppContext switch enables fallbacking to the previous behavior, which should not be needed. See PR #2680 for details.authorization_details_types_supported
from RFC 9396 - OAuth 2.0 Rich Authorization Requests toOpenIdConnectConfiguration
.OpenIdConnectPrompt
now has thecreate
prompt from Initiating User Registration via OpenID Connect 1.0OpenIdConnectGrantTypes
:urn:ietf:params:oauth:grant-type:saml2-bearer
from RFC 7522 - Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants,urn:ietf:params:oauth:grant-type:jwt-bearer
from RFC 7523 - JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants,urn:ietf:params:oauth:grant-type:device_code
from RFC 8628 - OAuth 2.0 Device Authorization Grant,urn:ietf:params:oauth:grant-type:token-exchange
from RFC 8693 - OAuth 2.0 Token Exchange,urn:openid:params:grant-type:ciba
from OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0NotImplementedException
. Now a message is returned that the user can act on to fix the issue. See issue #1970.Fundamentals
ConfigurationManager.GetConfigurationAsync
a virtual method. See PR #2661v7.7.1
Compare Source
7.7.1
Bug Fix
JsonSerializerPrimitives.TryAllStringClaimsAsDateTime
which was removed as it is in an internal class, but due toInternalsVisibleTo
can lead to aMissingMethodException
if IdentityModel versions are not aligned. See PR #2734 for details.v7.7.0
7.7.0
CVE package updates
CVE-2024-30105
ClaimsIdentity
where claim retrieval is case-sensitive. The currentClaimsIdentity
, in .NET, retrieves claims in a case-insensitive manner which is different than querying the underlyingSecurityToken
. The newCaseSensitiveClaimsIdentity
class provides consistent retrieval logic withSecurityToken
. Opt in to the new behavior via an AppContext switch. See PR #2715 for details.v7.6.2
Compare Source
7.6.2
Bug Fix:
AadIssuerValidator
by not usingstring.Replace
where appropriate due to an index out-of-range error.v7.6.1
Compare Source
=====
New Features:
Bug Fixes:
IDX14100
. See issue #2058 and PR #2618 for details.JwtRegisteredClaimNames
now contains previously missing Standard OpenIdConnect claims. See issue #1598 for details.Performance Improvements:
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.