Skip to content

Releases: AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet

8.0.0

16 Jul 02:57
2e7c701

Choose a tag to compare

8.0.0

CVE package updates

CVE-2024-30105

  • See PR #2707 for details.

Breaking change:

Full list of breaking changes.

  • 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. Fallback to previous behavior via an AppContext switch. See PR #2700 for details.
  • Make CollectionUtilities.IsNullOrEmpty internal. If your code used this method, you now have to provide your own implementation. See issues #2651 and #1722 for details.

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

8.0.0-preview1

19 Jun 15:59
0183521

Choose a tag to compare

8.0.0-preview1 Pre-release
Pre-release

8.0.0-preview1

Breaking changes:

  • IdentityModel 8x no longer supports .net461, which has reached end of life and is no longer supported. See issue #2544 for details.
  • Two IdentityModel extension dlls Microsoft.IdentityModel.KeyVaultExtensions and Microsoft.IdentityModel.ManagedKeyVaultSecurityKey were using ADAL, which is no longer supported . The affected packages have been removed, as the replacement is to use Microsoft.Identity.Web. See issue #2454 for details.
  • AppContext.SetSwitch which were included in IdentityModel 7x, have been removed and are the default in IdentityModel 8x. The result is a more performant IdentityModel by default. See issue #2629 and https://aka.ms/IdentityModel8x for details.

7.6.2

20 Jun 02:31
a93b7f6

Choose a tag to compare

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.

7.6.1

17 Jun 23:23
8671342

Choose a tag to compare

7.6.1

New Features:

  • 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:

  • Reduced allocations in AadIssuerValidator by not using string.Replace where appropriate. See issue #2595 and PR #2597 for more details.
  • 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.

7.6.0

28 May 00:55
4fbc3a8

Choose a tag to compare

7.6.0

New Features:

  • Update JsonWebToken - extract and expose the method that reads the header/payload property values from the reader so it can be overridden in children classes to add any extra own logic. See issues #2581, #2583, and #2495 for details.

Bug Fixes:

  • JWE header algorithm is now compliant to IANA document. See issue #2089 for details.

Performance Improvements:

  • Reduce the number of internal array allocations that need to happen for each claim set, see PR #2596.

Fundamentals:

  • Add an AOT compatibility check on each PR to ensure only AOT compatible code is checked-in. See PR #2598.
  • Update perl scrip for OneBranch build. See PR #2602.
  • Add langversion 12 to benchmark tests. See PR #2601.
  • Removed unused build.cmd file. See PR #2605.
  • Create CodeQL exclusions file. See PR #2609.
  • Fix variable usage in AOT script. See PR #2610.
  • Move Microsoft.IdentityModel.Tokens delegates to a new file. See PR #2606

7.5.2

13 May 22:06
ea42b6b

Choose a tag to compare

7.5.2

Bug Fixes:

  • Validate authentication tag length so a JWE with appended characters will not be considered a valid token. See issues #2201, #1641, PR #2569, and IDX10625 Wiki for details. By @kellyyangsong

Fundamentals:

  • App Context Switches in Identity Model 7x are now documented here. By @kellyyangsong

Performance Improvements:

  • In .NET 6 or greater, use a temporary buffer to reduce intermediate allocation in VerifyRsa/VerifyECDsa. See PR #2589 for more details. By @eerhardt
  • Reduce allocations in ValidateSignature by using a collection expression instead of new List<SecurityKey> { key }, to optimize for the single element case. See PR #2586 for more details. By @eerhardt
  • Remove Task allocation in AadIssuerValidator. See PR #2584 for more details. By @eerhardt

7.5.1

05 Apr 22:58
84fb893

Choose a tag to compare

Performance Improvements:

  • Use Base64.DecodeFromUtf8InPlace for base64 decode that saves 12% on token read time. Note that JsonWebToken no longer throws ArgumentOutOfRangeException and ArgumentException exceptions. See PR #2504. By @keegan-caruso.

Fundamentals:

Bug Fix:

  • Contribution from @martinb69 to fix correct parsing of UserInfoEndpoint. See issue #2548 for details.

7.5.0

27 Mar 01:32
afeb7e5

Choose a tag to compare

New Features:

Supports the 1.1 version of the Microsoft Entra ID Endpoint #2503

What's Changed

Full Changelog: v7.4.1...7.5.0

7.4.1

15 Mar 20:39
c1c24e2

Choose a tag to compare

7.4.1

Bug Fixes:

  • SamlSecurityTokenHandler and Saml2SecurityTokenHandler now can fetch configuration when validating SAML issuer and signature. See PR #2412
  • JsonWebToken.ReadToken now correctly checks Dot3 index in JWE. See PR #2501

Engineering Excellence:

  • Remove reference to Microsoft.IdentityModel.Logging in Microsoft.IdentityModel.Protocols, which already depends on it via Microsoft.IdentityModel.Tokens. See PR #2508
  • Adjust uppercase json serialization tests to fix an unreliable test method, add consistency to naming. See PR #2512
  • Disable the 'restore' and 'build' steps of 'build and pack' in build.sh, improving speed. See PR #2521

7.4.0

27 Feb 19:13
fc61f2c

Choose a tag to compare

7.4.0

New Features:

  • Introduced an injection point for external metadata management and adjusted the issuer Last Known Good (LKG) to maintain the state within the issuer validator. See PR #2480.
  • Made an internal virtual method public, enabling users to provide signature providers. See PR #2497.

Performance Improvements:

  • Added a new JsonWebToken constructor that accepts Memory for improved performance, along with enhancements to existing constructors. More information can be found in issue #2487 and in PR #2458.

Fundamentals:

  • Resolved the issue of duplicated log messages in the source code and made IDX10506 log message more specific. For more details, refer to PR #2481.
  • Enhanced Json serialization by ensuring the complete object is always read. This improvement can be found in PR #2491.

Engineering Excellence:

  • Streamlined the build and release process by replacing the dependency on updateAssemblyInfo.ps1 with the Version property. Check out the details in PR #2494.
  • Excluded the packing of Benchmark and TestApp projects for a more efficient process. Details available in PR #2496.