Skip to content

Commit 17bb96f

Browse files
committed
Added client_secret_jwt breaking change to upgrade docs
1 parent 118737e commit 17bb96f

File tree

1 file changed

+59
-1
lines changed

1 file changed

+59
-1
lines changed

src/content/docs/identityserver/upgrades/v7_2-to-v7_3.md

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This upgrade guide covers upgrading from Duende IdentityServer v7.2 to v7.3 ([re
99

1010
IdentityServer 7.3.0 is a significant release that includes:
1111

12-
- [FAPI 2.0 Security Profile](https://openid.net/specs/fapi-security-profile-2_0-final.html) certification
12+
- [FAPI 2.0 Security Profile][1] certification
1313
- JWT Response from the introspection endpoint ([RFC 9701](https://www.rfc-editor.org/rfc/rfc9701.html))
1414
- Diagnostic data
1515
- Removal of the experimental label from OpenTelemetry metrics
@@ -63,6 +63,64 @@ https://github.com/DuendeSoftware/products/pull/1796
6363
Several [OpenTelemetry metrics](/identityserver/diagnostics/otel.md#detailed-metrics) previously created by the meter named
6464
"Duende.IdentityServer.Experimental" have been moved to the "Duende.IdentityServer" meter.
6565

66+
#### Default Supported Signing Algorithms Have Changed For Client Assertions And Request Objects
67+
68+
To support the [FAPI 2.0 Security Profile][1], we've added new options to configure the supported signing algorithms for
69+
client assertions and request objects, and only included asymmetric algorithms by default. Before this release, all
70+
signing algorithms were supported, including the symmetric algorithms `HS256`, `HS384`, and `HS512`.
71+
72+
If you're using symmetric keys to sign client assertions or request objects, you can restore the previous behavior by adding the
73+
following code to your IdentityServer configuration:
74+
75+
```csharp title="Program.cs" {4,18-20,24,38-40}
76+
builder.Services.AddIdentityServer(options =>
77+
{
78+
// To re-enable symmetric algorithms for signing client assertions:
79+
options.SupportedClientAssertionSigningAlgorithms =
80+
[
81+
SecurityAlgorithms.RsaSha256,
82+
SecurityAlgorithms.RsaSha384,
83+
SecurityAlgorithms.RsaSha512,
84+
85+
SecurityAlgorithms.RsaSsaPssSha256,
86+
SecurityAlgorithms.RsaSsaPssSha384,
87+
SecurityAlgorithms.RsaSsaPssSha512,
88+
89+
SecurityAlgorithms.EcdsaSha256,
90+
SecurityAlgorithms.EcdsaSha384,
91+
SecurityAlgorithms.EcdsaSha512,
92+
93+
SecurityAlgorithms.HmacSha256,
94+
SecurityAlgorithms.HmacSha384,
95+
SecurityAlgorithms.HmacSha512
96+
];
97+
98+
// To re-enable symmetric algorithms for signing request objects:
99+
options.SupportedRequestObjectSigningAlgorithms =
100+
[
101+
SecurityAlgorithms.RsaSha256,
102+
SecurityAlgorithms.RsaSha384,
103+
SecurityAlgorithms.RsaSha512,
104+
105+
SecurityAlgorithms.RsaSsaPssSha256,
106+
SecurityAlgorithms.RsaSsaPssSha384,
107+
SecurityAlgorithms.RsaSsaPssSha512,
108+
109+
SecurityAlgorithms.EcdsaSha256,
110+
SecurityAlgorithms.EcdsaSha384,
111+
SecurityAlgorithms.EcdsaSha512,
112+
113+
SecurityAlgorithms.HmacSha256,
114+
SecurityAlgorithms.HmacSha384,
115+
SecurityAlgorithms.HmacSha512
116+
];
117+
});
118+
```
119+
120+
https://github.com/DuendeSoftware/products/pull/2077
121+
66122
## Step 3: Done!
67123

68124
That's it. Of course, at this point you can and should test that your IdentityServer is updated and working properly.
125+
126+
[1]: https://openid.net/specs/fapi-security-profile-2_0-final.html

0 commit comments

Comments
 (0)