Releases: AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet
6.27.0
6.26.1
6.26.0
Servicing release
Introducing a new boolean TokenValidationParameter LogTokenId.
#2002
Update System.Text.Encodings.Web
#1997
Update ValidateToken call stack fully async
#1996
JsonWebTokenHandler to return the JsonWebToken on validation failure
#1989
Update documentation of DefaultTokenLifetimeInMinutes
#1988
6.25.1
Servicing release
.net was throwing when JWT tokens contained claims that used escaped characters.
#1975
Fixed Typo in comments
#1971
Added inner exception to help diagnose when reading JWT tokens fails.
#1968
Updated comments to improve understanding of RoleClaimTypeRetriever and NameClaimTypeRetriever
#1960
6.25.0
6.24.0
6.23.1
6.23.0
#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
6.22.0
New Features:
Unmasked non-PII properties in log messages -
In Microsoft.IdentityModel logs, previously only system metadata (DateTime, class name, httpmethod etc.) was displayed in clear text. For all other log arguments, the type was being logged to prevent Personally Identifiable Information (PII) from being displayed when ShowPII flag is turned OFF. To improve troubleshooting experience non-PII properties - Issuer, Audience, Key location, Key Id (kid) and some SAML constants will now be displayed in clear text. See issue #1903 for more details.
Prefix Wilson header message to the first log message -
To always log the Wilson header (Version, DateTime, PII ON/OFF message), EventLogLevel.LogAlways was mapped to LogLevel.Critical in Microsoft.IdentityModel.LoggingExtensions.IdentityLoggerAdapter class which caused confusion on why header was being displayed as a fatal log.
To address this, header is now prefixed to the first message logged by Wilson and separated with a newline. EventLogLevel.LogAlways has been remapped to LogLevel.Trace. See issue #1907 for more details.
Bug Fixes:
Copy the IssuerSigningKeyResolverUsingConfiguration delegate in Clone() #1909