Skip to content

Releases: DuendeSoftware/foss

Duende.AspNetCore.Authentication.OAuth2Introspection

12 Mar 20:54
70c4c4b

Choose a tag to compare

  • Updated Duende.IdentityModel dependency to 8.0.1

Duende.IdentityModel.OidcClient 7.0.1

12 Mar 19:43
a1e4650

Choose a tag to compare

  • Update Duende.IdentityModel dependency to 8.0.1

Duende.IdentityModel 8.0.1

12 Mar 15:46
2781e87

Choose a tag to compare

Update Microsoft.Bcl.Memory dependency to 10.0.4 due to a vulnerability in Microsoft.Bcl.Memory GHSA-73j8-2gch-69rq

  • .NET 10 users are not affected as this transitive dependency is conditionally excluded for projects that target .NET 10.
  • .NET 8 and .NET 9 users are affect and need to either explicitly reference Microsoft.Bcl.Memory.10.0.4 or update to Duende.IdentityModel.8.0.1

Duende.AccessToken 4.1.2

12 Mar 20:00
877ab1b

Choose a tag to compare

  • Update Duende.IdentityModel dependency to version 8.0.1

Duende Access Token Management 4.1.1

23 Jan 15:24
eeedf25

Choose a tag to compare

What's Changed

Duende.AspNetCore.Authentication.OAuth2Introspection 7.0.0

02 Dec 13:10
bfe1851

Choose a tag to compare

This is a major release which brings a variety of changes including support for .NET 10.

There are no changes from the Release Candidate.

Breaking Changes

Move to HybridCache in OAuth2Introspection

The use of IDistributedCache in this library has been replaced with the use of HybridCache. Part of this change was the removal of the EnableCaching option. Users who wish to not have introspection results cached should set the new SetCacheEntryFlags options to the value HybridCacheEntryFlags.DisableLocalCacheWrite | HybridCacheEntryFlags.DisableDistributedCacheWrite.

The primary motivation for this change was to disable an additional breaking change in the future. HybridCache does not currently support a mechanism for controlling the cache expiration in a factory method to fetch/create the cached data. This is problematic with introspection as RFC 7662 states: If the response contains the "exp" parameter (expiration), the response MUST NOT be cached beyond the time indicated therein. The requirement of the RFC prevents this library from benefitting from features of HybridCache such as stampede protection as the result of introspection needs to be known prior to interacting with the cache. This will be revisited in the future if and when HybridCache's API surface is updated to allow controlling a cache entry's cache duration inside a factory method.

Enhancements

Contributors

Thanks to the Duende.AspNetCore.Authentication.OAuth2Introspection community for your involvement with issues and pull requests!

Duende.IdentityModel.OidcClient 7.0.0

02 Dec 13:08
bfe1851

Choose a tag to compare

This is a major release which brings a variety of changes including support for .NET 10.

There are no changes from the Release Candidate.

Breaking Changes

  • Introduce IDPoPProofTokenFactory by @bhazen in a #267

Enhancements

Bug Fixes

Introduction of IDPoPProofTokenFactory

This is a breaking change in that DPoPProofTokenFactory was renamed to DefaultDPoPProofTokenFactory to make it clear it is the default implementation which is provided by the library.

Previously, there was no mechanism for customizing how DPoP proof tokens were created. This caused some issues, such as making it difficult to use signing keys which are stored in a platform crypto provider (see https://github.com/orgs/DuendeSoftware/discussions/163).

To accommodate such scenarios, an IDPoPProofTokenFactory was introduced to allow for complete customization. To make use of a custom implementation of this interface, use the new extension methods to configure DPoP:

var options = new OidcClientOptions();
var myCustomProofTokenFactory = new MyCustomProofTokenFactory();
options.ConfigureDPoP(myCustomProofTokenFactory);

Code which does not require a custom implementation of IDPoPProofTokenFactory should not need to be changed.

Contributors

Thanks to the Duende.IdentityModel.OidcClient community for your involvement with issues and pull requests!

Duende.IdentityModel 8.0.0

02 Dec 13:05
3cebfeb

Choose a tag to compare

This is a major release which brings a variety of changes including support for .NET 10.

There are no changes from the Release Candidate.

Breaking Changes

  • Remove Base64Url, using SDK/Runtime provided type instead. by @damianh in #249
  • Removed Obsolete DateTimeExtensions by @bhazen in #255
  • Make DynamicClientRegistrationDocument.Extensions Non Nullable by @bhazen in #258

Enhancements

Bug Fixes

Upgrading

Replacing Use of Base64Url

Code which was previously using the public static Base64Url class from this library, should be updated to use the Base64Url class found in the System.Buffers.Text namespace.

Uses of the Encode method should be replaced with the EncodeToString method and uses of the Decode method should be replaced with the DecodeFromChars method.

For example, code which previously looked like this:

var jsonString = Base64Url.Decode(payload);

should be updated to this:

using System.Buffers.Text;

var jsonString = Base64Url.DecodeFromChars(payload);

Replacing Use of DateTimeExtensions

Code which was previously using the public static DateTimeExtensions class from this library, should be updated to use DateTimeOffset.ToUnixTimeSeconds() instead.

For example. code which previously looked like this:

DateTime.UtcNow.ToEpochTime()

should be updated to this:

DateTimeOffset.UtcNow.ToUnixTimeSeconds()

Handling DynamicClientRegistrationDocument.Extensions Now Being Non-Nullable

Any code which was explicitly setting the Extensions property of the DynamicClientRegistrationDocument.Extensions to null, should be updated to instead set it to an empty dictionary.

Contributors

Thanks to the Duende.IdentityModel community for your involvement with issues and pull requests!

Duende Access Token Management 4.1.0

02 Dec 13:13
bfe1851

Choose a tag to compare

This is a major release which brings a variety of changes including support for .NET 10.

In addition to target the .NET 10 GA release over the RC2 release, there have been several enhancements since the last version was released:

Enhancements

Duende Access Token Management 3.3.0

02 Dec 13:12
2779fb0

Choose a tag to compare

This is a minor release which brings a variety of changes including support for .NET 10.

There are no changes from the Release Candidate.

Enhancements