Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update IdentityModel.Tokens to v8 (major) #3480

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 16, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
Microsoft.IdentityModel.Tokens 7.6.0 -> 8.2.0 age adoption passing confidence
System.IdentityModel.Tokens.Jwt 7.6.0 -> 8.2.0 age adoption passing confidence

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
  • Validates Audience for SAML2TokenHandler with New Model 2863
  • Improvements to AudienceValidation 2902
  • Added properties to ValidationResult 2923
  • Implements Audience and Lifetime validations in SamlSecurityTokenHandler 2925
  • Implements Issuer validation in SamlSecurityTokenHandler 2948

v8.1.2

Compare Source

=====

Bug fixes
  • CaseSensitiveClaimsIdentity.Clone() now returns a CaseSensitiveClaimsIdentity as expected. See 2879
  • Multiple unused and unusable (for the moment) public APIs were removed. These were introduced by mistake leaking from the work done on logging and exception handling. See 2888. No major version changed needed as these APIs were not usable per se.
Fundamentals
  • Enabled PublicApiAnalyzers to better understand and trace changes to the public API. See2782

v8.1.1

Compare Source

=====

Bug fixes
  • Fix bug where ConfigurationManager was updating keys too frequently. See 2866 for details.

v8.1.0

Compare Source

=====

Performance improvements
  • Improves performance during issuer validation by replacing string comparison with span comparison. See PR #​2826.
New features
  • Add optional check to prevent using keys that are shared across multiple clouds. See issue #​2832 for details.
Bug fixes
  • JsonWebTokenHandler would only return unwrapped keys if there was no errors. This change is to align with the behavior in JwtSecurityTokenHandler, that is it returns the keys that were able to be unwrapped, and only throw if no keys were able to be unwrapped. See issue #​2695 for details.
Fundamentals
  • Fix flaky tests. See #​2793 for details.
  • Update XUnit versoin and fix test warnings due to new XUnit analyzers. See PR #​2796 for details.
  • Onhboard to code coverage in ADO. See PR #​2798.
  • Use IsTargetFrameworkCompatible(*) so AOT is forward-compatible with .NET 9 and beyond. See PR #​2790 for details.
  • Fix a merge conflict impacting dev. See PR #​2819.
  • Defining the following attribute in multiple assemblies (.Tokens, .Logging) causes an internal error.
    [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)]. See PR #​2820.
  • Remove perl dependency. See PR #​2830.
Work related to redesign of IdentityModel's token validation logic #​2711

v8.0.2

Compare Source

=====

Security fundamentals
  • Add BannedApiAnalyzers to prevent use of ClaimsIdentity constructors. See PR #​2778 for details.
Bug fixes
  • IdentityModel now allows the JWT payload to be an empty string. See issue #​2656 for details.
  • Cache UseRfcDefinitionOfEpkAndKid switch. See PR #​2747 for details.
  • Method was named DoNotFailOnMissingTid in 7x and DontFailOnMissingTid in 8x, adding the method for back compat. See issue #​2750 for details.
  • Metadata is now updated on a background thread. See #​2780 for details.
  • JsonWebKeySet stores the original string it was created with. See PR #​2755 for details.
  • Restore AOT compatibility. See #​2711.
  • Fix OpenIdConnect parsing bug. See #​2772 for details.
  • Remove the lock on creating a SignatureProvider. See #​2788 for details.
Fundamentals
  • Test clean up #​2742.
  • Use only FxCop in .NET framework targets #​2693.
  • Add rule to add file headers automatically #​2748.
  • Code analysis updates #​2746.
  • Include README packages in NuGet #​2752.
  • Update projects inside WilsonUnix solution #​2768.
  • Code style enforced in build #​2603.
  • CodeQL update #​2767.
  • Update build pipeline to new one release build format #​2777.
  • Update GitHub actions to 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
  • IdentityModel now resolves the public key to EPK. See issue #​1951 for details.
  • Fix a race condition where SignatureProvider was disposed but still able to leverage the cache and SignatureProvider now disposes when compacting. See PR #​2682 for details.
  • For JWE, JsonWebTokenHandler.ValidateJWEAsync now considers the decrypt keys in the configuration. See issue #​2737 for details.
Performance improvement

v8.0.0

Compare Source

=====

CVE package updates

CVE-2024-30105

Breaking change:

Full list of breaking changes.

Overall improvements to the validation in IdentityModel:
  • See design proposal #​2711 for details, all work internal for now. Please comment in the GitHub issue and provide feedback there.
New Features:
  • Allow users to provide a Stream to Write in OIDCConfigurationSerializer. See PR #​2698 for details.
Bug fixes:
Fundamentals
  • Remove code that was used in target frameworks that got removed. See PR #​2673 for details.
  • Rename local variables for better readability. See PR #​2674 for details.
  • Refactor XML comments for improved clarity. See PR #​2676, #​2677, #​2678, #​2689 and #​2703 for details.
  • Fix flaky test. See issue #​2683 for details.
  • Made ConfigurationManager.GetConfigurationAsync a virtual method. See PR #​2661

v7.7.1

Compare Source

7.7.1

Bug Fix
  • Re-add JsonSerializerPrimitives.TryAllStringClaimsAsDateTime which was removed as it is in an internal class, but due to InternalsVisibleTo can lead to a MissingMethodException if IdentityModel versions are not aligned. See PR #​2734 for details.

v7.7.0

7.7.0

CVE package updates

CVE-2024-30105

  • A derived ClaimsIdentity where claim retrieval is case-sensitive. The current ClaimsIdentity, in .NET, retrieves claims in a case-insensitive manner which is different than querying the underlying SecurityToken. The new CaseSensitiveClaimsIdentity class provides consistent retrieval logic with SecurityToken. 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:
  • Revert reduced allocations in AadIssuerValidator by not using string.Replace where appropriate due to an index out-of-range error.

v7.6.1

Compare Source

=====

New Features:
  • Added an Audiences member to the SecurityTokenDescriptor to make it easier to define multiple audiences in JWT and SAML tokens. Addresses issue #​1479 with PR #​2575
  • Add missing metadata parameters to OpenIdConnectConfiguration. See issue #​2498 for details.
Bug Fixes:
  • Fix over-reporting of IDX14100. See issue #​2058 and PR #​2618 for details.
  • JwtRegisteredClaimNames now contains previously missing Standard OpenIdConnect claims. See issue #​1598 for details.
Performance Improvements:
  • No longer for every string claim, calling DateTime.TryParse on each value, whether it is expected to be a DateTime or not. See issue #​2615 for details.

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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner July 16, 2024 05:10
@renovate renovate bot added the dependencies Pull requests that update a dependency file label Jul 16, 2024
@renovate renovate bot force-pushed the renovate/major-identitymodel.tokens branch from 9ef70c3 to d3bdda0 Compare July 23, 2024 03:20
@renovate renovate bot force-pushed the renovate/major-identitymodel.tokens branch from d3bdda0 to 3e4883a Compare August 22, 2024 08:51
@renovate renovate bot force-pushed the renovate/major-identitymodel.tokens branch from 3e4883a to 62d47b3 Compare September 24, 2024 18:35
@renovate renovate bot force-pushed the renovate/major-identitymodel.tokens branch 2 times, most recently from 22961eb to 6107a83 Compare October 8, 2024 22:33
@renovate renovate bot force-pushed the renovate/major-identitymodel.tokens branch from 6107a83 to 0e6e52a Compare November 2, 2024 21:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants