OK – it’s finally done. I published v4 to Nuget earlier today. You can find the complete set of changes/bug fixes/breaking changes here.
We had to cut some features which were originally on our roadmap – we’ll revisit them for the next release, which is planned for end of this year.
Let’s have a look at the big new features that we added for this release.
Updates to the Mutual TLS support
MTLS is an important enabler for strong client authentication and proof-of-possession access tokens. We added support for more flexible MTLS endpoint hosting and emitting the cnf claim for ephemeral (or session) X.509 certificates. See this post and docs here.
Private key JWT authentication and JWT secured Authorization requests (JAR)
These both features often go together because they allow authentication of clients on both front- and back-channel using asymmetric keys.
New features include support for JWK formatted key material, updated validation checks to conform with JAR and replay cache support. See this post, docs here.
Conformance with the JWT Profile for OAuth Access Tokens
See this post for more information.
Re-worked API resource and scope handling/validation
See this post for more information.
Updated handling around Refresh Tokens
We consolidated all handling into a single place now, and added support to implement custom replay detection and revocation logic. See this post.
Support for multiple signing Keys and Algorithms
This allows configuring the signing algorithm and thus the key used per client and API resource. See post here.
More features around Session Management and Back-channel Logout Notifications
Going forward, back-channel logout notifications is the only mechanism that will work reliably across domain boundaries. That’s why we polished the feature to be more flexible. Docs soon.
Please give it a try! Have fun!
PS. Our friends from RSK are planning to publish a database migration script. I will let you know once it is available.
Is there an upgrade guide that details the breaking changes and the required fixes? I am upgrading from version 3.1.0 and there are quite a few breaking changes.
Maybe start here
https://github.com/IdentityServer/IdentityServer4/issues/4592