Skip to content

Commit c63ba99

Browse files
committed
IdentityServer 7.2 to 7.3 upgrade guide #715
1 parent cedf347 commit c63ba99

File tree

4 files changed

+77
-10
lines changed

4 files changed

+77
-10
lines changed

src/content/docs/identityserver/upgrades/identityserver4-to-duende-identityserver-v7.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
2-
title: "IdentityServer4 to Duende IdentityServer v7.2"
2+
title: "IdentityServer4 to Duende IdentityServer v7.3"
33
sidebar:
44
order: 138
5-
label: IdentityServer4 → v7.2
5+
label: IdentityServer4 → v7.3
66
---
77

88
import { Code } from "astro/components";
99
import { Steps } from "@astrojs/starlight/components";
1010
import { Tabs, TabItem } from "@astrojs/starlight/components";
1111

12-
This upgrade guide covers upgrading from IdentityServer4 to Duende IdentityServer v7.2.
12+
This upgrade guide covers upgrading from IdentityServer4 to Duende IdentityServer v7.3.
1313
IdentityServer4 reached its end of life (EOL) on December 13, 2022. It is strongly advised to migrate to Duende IdentityServer.
1414

1515
Depending on your current version of IdentityServer4, different steps may be required.
@@ -344,14 +344,14 @@ Update the IdentityServer4 dependencies in your IdentityServer host project to D
344344

345345
```diff lang="xml" title=".csproj"
346346
- <PackageReference Include="IdentityServer4" Version="4.1.2" />
347-
+ <PackageReference Include="Duende.IdentityServer" Version="7.2.0" />
347+
+ <PackageReference Include="Duende.IdentityServer" Version="7.3.0" />
348348
```
349349

350350
You'll need to make a similar change for all IdentityServer4 packages, including `IdentityServer4.EntityFramework` and `IdentityServer4.AspNetIdentity`. For example:
351351

352352
```diff lang="xml" title=".csproj"
353353
- <PackageReference Include="IdentityServer4.EntityFramework" Version="4.1.2" />
354-
+ <PackageReference Include="Duende.IdentityServer.EntityFramework" Version="7.2.0" />
354+
+ <PackageReference Include="Duende.IdentityServer.EntityFramework" Version="7.3.0" />
355355
```
356356

357357
The IdentityModel package was renamed to Duende IdentityModel and needs updating if you reference it directly:

src/content/docs/identityserver/upgrades/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ changes. Some updates contain changes to the stores used by IdentityServer that
1616
schema updates. If you are using our Entity Framework based stores we recommend using Entity Framework
1717
Migrations.
1818

19+
## Upgrading from version 7.2 to 7.3
20+
21+
See [IdentityServer v7.2 to v7.3](/identityserver/upgrades/v7_2-to-v7_3.md).
22+
1923
## Upgrading from version 7.1 to 7.2
2024

2125
See [IdentityServer v7.1 to v7.2](/identityserver/upgrades/v7_1-to-v7_2.md).

src/content/docs/identityserver/upgrades/v6_3-to-v7_0.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,12 @@ our [release notes](https://github.com/DuendeSoftware/products/releases/tag/is%2
1818
In your IdentityServer host project, update the version of the .NET framework. For example in your project file:
1919

2020
```xml
21-
2221
<TargetFramework>net6.0</TargetFramework>
2322
```
2423

2524
would change to:
2625

2726
```xml
28-
2927
<TargetFramework>net8.0</TargetFramework>
3028
```
3129

@@ -41,14 +39,12 @@ In your IdentityServer host project, update the version of the Duende.IdentitySe
4139
For example in your project file:
4240

4341
```xml
44-
4542
<PackageReference Include="Duende.IdentityServer" Version="6.3.0"/>
4643
```
4744

4845
would change to:
4946

5047
```xml
51-
5248
<PackageReference Include="Duende.IdentityServer" Version="7.0"/>
5349
```
5450

@@ -118,7 +114,6 @@ migrationBuilder.AlterColumn<long>(
118114

119115
// Add this after AlterColumn
120116
migrationBuilder.AddPrimaryKey("PK_ServerSideSessions", "ServerSideSessions", "Id");
121-
122117
```
123118

124119
:::note
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
title: "Duende IdentityServer v7.2 to v7.3"
3+
sidebar:
4+
order: 27
5+
label: v7.2 → v7.3
6+
---
7+
8+
This upgrade guide covers upgrading from Duende IdentityServer v7.2 to v7.3 ([release notes](https://github.com/DuendeSoftware/products/releases/tag/is-7.3.0)).
9+
10+
IdentityServer 7.3.0 is a significant release that includes:
11+
12+
- [FAPI 2.0 Security Profile](https://openid.net/specs/fapi-security-profile-2_0-final.html) certification
13+
- JWT Response from the introspection endpoint ([RFC 9701](https://www.rfc-editor.org/rfc/rfc9701.html))
14+
- Diagnostic data
15+
- Removal of the experimental label from OpenTelemetry metrics
16+
- Additional license compliance warnings
17+
- Several bug fixes
18+
- Numerous small code quality and performance enhancements from the community
19+
20+
There are no schema changes needed for IdentityServer 7.3. Small code changes maybe be required for some users to upgrade:
21+
22+
- The `SendLogoutNotificationAsync` method has been removed from the `DefaultBackChannelLogoutService` class
23+
- Client `Secret` is now required for Clients with `ClientCredentials` grant
24+
25+
## Step 1: Update NuGet package
26+
27+
In your IdentityServer host project, update the version of the NuGet.
28+
For example in your project file:
29+
30+
```xml
31+
<PackageReference Include="Duende.IdentityServer" Version="7.2.0" />
32+
```
33+
34+
would change to:
35+
36+
```xml
37+
<PackageReference Include="Duende.IdentityServer" Version="7.3.0" />
38+
```
39+
40+
## Step 2: Breaking Changes
41+
42+
Small code changes maybe be required for some users to upgrade.
43+
44+
#### The `SendLogoutNotificationAsync` Method Has Been Removed From The `DefaultBackChannelLogoutService` Class
45+
46+
To fix a bug where when using Entity Framework Core, code which previously executed in parallel needed to be modified to execute sequentially.
47+
This required the removal of the `SendLogoutNotificationAsync` method in the `DefaultBackChannelLogoutService` class.
48+
49+
If you have previously overridden the `SendLogoutNotificationAsync` as an extensibility point, you will likely need to move your customization to the `PostLogoutJwt` method.
50+
51+
https://github.com/DuendeSoftware/products/pull/2019
52+
53+
#### Client `Secret` Is Now Required For Clients With `ClientCredentials` Grant
54+
55+
Previously, it was possible to configure a client to allow the `ClientCredentials` grant without requiring a client secret, which is undesirable.
56+
The default validation of clients has been updated to ensure any client which allows the `ClientCredentials` grant also sets the `RequireClientSecret` flag to `true`,
57+
to disallow the configuration of a private client to behave like a public client.
58+
59+
https://github.com/DuendeSoftware/products/pull/1796
60+
61+
#### Removal Of The Experimental Label From OpenTelemetry Metrics
62+
63+
Several [OpenTelemetry metrics](/identityserver/diagnostics/otel.md#detailed-metrics) previously created by the meter named
64+
"Duende.IdentityServer.Experimental" have been moved to the "Duende.IdentityServer" meter.
65+
66+
## Step 3: Done!
67+
68+
That's it. Of course, at this point you can and should test that your IdentityServer is updated and working properly.

0 commit comments

Comments
 (0)