#1934 JsonWebToken and JsonWebTokenHandler use System.Text.Json for JSON parsing for targets Net61+.
String splits have been removed and much of the duplicated string copying and processing has been removed resulting in a 20-25% performance increase.
#1924 This delegate will be called just before a token has the SignatureValidated. This allows for preprocessing of the token prior to signature validation. This is currently only used by the JsonWebTokenHandler.
6.22.1
New Features:
Microsoft.IdentityModel has two assemblies to manipulate JWT tokens:
System.IdentityModel.Tokens.Jwt, which is the legacy assembly. It defines JwtSecurityTokenHandler class to manipulate JWT tokens.
Microsoft.IdentityModel.JsonWebTokens, which defines the JsonWebToken class and JsonWebTokenHandler, more modern, and more efficient.
When using JwtSecurityTokenHandler, the short named claims (oid, tid), used to be transformed into the long named claims (with a namespace). With JsonWebTokenHandler this is no longer the case, but when you migrate your application from using JwtSecurityTokenHandler to JsonWebTokenHandler (or use a framework that does), you will only get original claims sent by the IdP. This is more efficient, and occupies less space, but might trigger a lot of changes in your application. In order to make it easier for people to migrate without changing their app too much, this release offers extensibility to re-add the claims mapping.
Bug Fixes:
(#1933) Wrong parameter order when calling ValidateLifetimeAndIssuerAfterSignatureNotValidatedJwt
See the release notes for details on bug fixes and added features.
Next release (6.22.1 or 6.23.0)
New Features:
Microsoft.IdentityModel has two assemblies to manipulate JWT tokens:
System.IdentityModel.Tokens.Jwt, which is the legacy assembly. It defines JwtSecurityTokenHandler class to manipulate JWT tokens.
Microsoft.IdentityModel.JsonWebTokens, which defines the JsonWebToken class and JsonWebTokenHandler, more modern, and more efficient.
When using JwtSecurityTokenHandler, the short named claims (oid, tid), used to be transformed into the long named claims (with a namespace). With JsonWebTokenHandler this is no longer the case, but when you migrate your application from using JwtSecurityTokenHandler to JsonWebTokenHandler (or use a framework that does), you will only get original claims sent by the IdP. This is more efficient, and occupies less space, but might trigger a lot of changes in your application. In order to make it easier for people to migrate without changing their app too much, this PR offers extensibility to re-add the claims mapping.
Bug Fixes:
Commits
a502b0f Delayed ClaimsIdentity by calling into JsonWebTokenHandler
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps System.IdentityModel.Tokens.Jwt from 6.22.0 to 6.23.1.
Release notes
Sourced from System.IdentityModel.Tokens.Jwt's releases.
Changelog
Sourced from System.IdentityModel.Tokens.Jwt's changelog.
Commits
a502b0f
Delayed ClaimsIdentity by calling into JsonWebTokenHandlerddcbe5b
update verion to next possible release4cba999
Use System.Text.Jsona4c91eb
Update version to 6.22.2 after release0aa5338
Adding context to unit test (#1936)d4977c2
Wrong parameter order when calling ValidateLifetimeAndIssuerAfterSignatureNot...900dc26
remove duplicate package referencesb0b6f47
Merge branch 'dev' of https://github.com/AzureAD/azure-activedirectory-identi...36b9cd5
change method to protected virtual (#1895)cc1d4e7
Merge branch 'dev' of https://github.com/AzureAD/azure-activedirectory-identi...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)