Duende IdentityServer v7.3 to v7.4
This upgrade guide covers upgrading from Duende IdentityServer v7.3 to v7.4 (release notes).
IdentityServer 7.4.0 is a significant release that includes:
- Support for .NET 10
- Support for OAuth 2.0 Authorization Server Metadata (RFC 8414)
- New Callback option for path detection in Dynamic Providers
- Improved UI locales support
- Support for custom parameters in the Authorize Redirect Uri
- Identity package now persists session claims based on an interface
- Skipping front-channel logout iframe when unnecessary
- Set HTTP activity name on routing
There are no schema changes needed for IdentityServer 7.4. Small code changes may be required for some users to upgrade:
- Removed public unused class
Duende.IdentityServer.Models.DiscoveryDocument - Marked static properties referring to counters in
Telemetry.csasreadonly
Step 1: Update NuGet package
Section titled “Step 1: Update NuGet package”In your IdentityServer host project, update the version of the NuGet. For example, in your project file:
<PackageReference Include="Duende.IdentityServer" Version="7.3.0" />would change to:
<PackageReference Include="Duende.IdentityServer" Version="7.4.0-preview.2" />Step 2: Breaking Changes
Section titled “Step 2: Breaking Changes”Small code changes may be required for some users to upgrade.
Removed public unused class Duende.IdentityServer.Models.DiscoveryDocument
Section titled “Removed public unused class Duende.IdentityServer.Models.DiscoveryDocument”In the process of internal code cleanup, we found that the Duende.IdentityServer.Models.DiscoveryDocument class was
public but not used anywhere in the codebase.
If you were using this class in your codebase, you would need to replace it with your own implementation or use a different class that provides similar functionality. You can find the removed class in the pull request.
https://github.com/DuendeSoftware/products/pull/2128
Marked static properties referring to counters in Telemetry.cs as readonly
Section titled “Marked static properties referring to counters in Telemetry.cs as readonly”In the process of internal code cleanup, these properties were updated to be marked as readonly.
Code should not have been updating these properties as it would likely change the behavior of the telemetry emitted by
IdentityServer.
Any code which was updating these properties should instead create its own counters for their specific scenario.
https://github.com/DuendeSoftware/products/pull/2170
Step 3: Done!
Section titled “Step 3: Done!”That’s it. Of course, at this point, you can and should test that your IdentityServer is updated and working properly.