8.0.0
8.0.0
CVE package updates
- See PR #2707 for details.
Breaking change:
Full list of breaking changes.
- A derived
ClaimsIdentity
where claim retrieval is case-sensitive. The currentClaimsIdentity
, in .NET, retrieves claims in a case-insensitive manner which is different than querying the underlyingSecurityToken
. The newCaseSensitiveClaimsIdentity
class provides consistent retrieval logic withSecurityToken
. Fallback to previous behavior via an AppContext switch. See PR #2700 for details. - Make
CollectionUtilities.IsNullOrEmpty
internal. If your code used this method, you now have to provide your own implementation. See issues #2651 and #1722 for details.
Overall improvements to the validation in IdentityModel:
- See design proposal #2711 for details, all work internal for now. Please comment in the GitHub issue and provide feedback there.
New Features:
- Allow users to provide a
Stream
toWrite
inOIDCConfigurationSerializer
. See PR #2698 for details.
Bug fixes:
- Remove dependency on
AadIssuerValidator.GetTenantIdFromToken
inValidateIssuerSigningKey
, to only consider thetid
. An AppContext switch enables fallbacking to the previous behavior, which should not be needed. See PR #2680 for details. - Continuation of #2637 and #2646. Add the metadata
authorization_details_types_supported
from RFC 9396 - OAuth 2.0 Rich Authorization Requests toOpenIdConnectConfiguration
. - The class
OpenIdConnectPrompt
now has thecreate
prompt from Initiating User Registration via OpenID Connect 1.0
- The following grant types are now included in
OpenIdConnectGrantTypes
:urn:ietf:params:oauth:grant-type:saml2-bearer
from RFC 7522 - Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants,urn:ietf:params:oauth:grant-type:jwt-bearer
from RFC 7523 - JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants,urn:ietf:params:oauth:grant-type:device_code
from RFC 8628 - OAuth 2.0 Device Authorization Grant,urn:ietf:params:oauth:grant-type:token-exchange
from RFC 8693 - OAuth 2.0 Token Exchange,urn:openid:params:grant-type:ciba
from OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0 - Serialize byte arrays as base64 strings in Json tokens. This was the behavior in 6.x releases. See issue #2524 for details.
- When we added virtuals to abstract methods that threw in the base class, we then called those methods that were implemented in user derived classes. The user code would fault with a
NotImplementedException
. Now a message is returned that the user can act on to fix the issue. See issue #1970.
Fundamentals
- Remove code that was used in target frameworks that got removed. See PR #2673 for details.
- Rename local variables for better readability. See PR #2674 for details.
- Refactor XML comments for improved clarity. See PR #2676, #2677, #2678, #2689 and #2703 for details.
- Fix flaky test. See issue #2683 for details.
- Made
ConfigurationManager.GetConfigurationAsync
a virtual method. See PR #2661