IdentityModel Extensions for .NET
repository·dev·Indexed 22 days ago
https://github.com/azuread/azure-activedirectory-identitymodel-extensions-for-dotnetA library for enhancing authentication and authorization in .NET applications, specifically simplifying OIDC, OAuth2.0, and JWT workflows. It is primarily used within ASP.NET security to validate tokens in Web Apps and Web APIs. The library provides various version tracks, including 8.x for .NET 9 and 10, and 7.x for .NET 8 LTS.
What's inside IdentityModel Extensions for .NET
- IdentityModel Extensions for .NET is a library designed to enhance authentication and authorization workflows in .NET applications. It provides tools for working with OpenID Connect (OIDC), OAuth2.0, and JSON Web Tokens (JWT). The library is primarily used within ASP.NET security to validate tokens in Web Apps and Web APIs.
Understand the IdentityModel support lifecycle and upgrade requirements
devThe support policy for IdentityModel is designed to align with the .NET platform's Long-Term Support (LTS) cadence. Understanding these three principles helps you manage upgrades and security compliance:
- Last Major Release Support Window: When a new major version (e.g., v8.0) is released, only the latest patch of the previous major version (e.g., 7.7.1) remains supported. This support lasts for either 180 days after the new major release or for the entire lifespan of the associated .NET LTS release, whichever is longer.
- Deprecation of Older Patches: Once a new major version is released, all previous minor/patch versions of the preceding major version (e.g., 7.0.0 through 7.7.0) are immediately considered deprecated. They will not receive further updates.
- Security Fixes are Version-Specific: Security and critical bug fixes are only back-ported to the latest patch of the current major version and, occasionally, the latest patch of the previous major version during its overlap window. If a vulnerability is found, you must upgrade to a supported version (e.g., moving from 7.7.0 to 7.7.1 or to 8.x) to receive the fix. Older, deprecated patch versions will not be patched.
Find samples and documentation for IdentityModel
devTo implement token validation or learn about specific scenarios, refer to the following resources:
- Scenarios: Detailed descriptions of supported use cases in the project Wiki.
- Token Validation: Specific guidance on Validating Tokens.
- ASP.NET Core Integration: Microsoft Entra ID with ASP.NET Core documentation.
- API Reference: Official Microsoft .NET API documentation.
Get community help for IdentityModel
devIf you encounter issues or have questions:
- Bugs and Features: Report directly via GitHub Issues.
- Design Proposals: Submit design proposals before starting a PR to ensure alignment with library goals.
- Stack Overflow: Ask questions using the
identityModeltag to ensure the maintainers can see them. View existing Q&A here.
Choose the correct IdentityModel version
devThe library follows a major version lifecycle tied to .NET support. Choose your version based on your target framework and support requirements:
- 8.x (Current/Active): Optimized for high-throughput and fully compatible with .NET 9. Supported through the .NET 9 LTS lifetime and .NET 10 LTS (~Nov 2028).
- 7.x (LTS): Provides AOT compatibility on .NET and improved serialization. Supported through the .NET 8 LTS lifetime (until Nov 10, 2026). Note: Versions
< 7.7.1are not supported. - 5.x (LTS): Tied to the
Microsoft.Owin.Security.JWT 4.2.2lifetime. Note: Versions< 5.7.0are not supported. This version is not recommended for new projects. - 6.x (Deprecated): Support ended with the .NET 7 LTS lifetime (May 2024).
Identify supported IdentityModel versions
devIdentityModel versions follow a support lifecycle tied to .NET release cycles. To ensure your application receives security fixes, you must use a version currently in the 'Active' support phase.
Current Support Status
- 8.x (Active): Supports versions from
8.0.1up to the latest release. Support is tied to .NET 9 (STS) and .NET 10 (LTS), ending approximately in November 2028. - 7.x (Active, security fixes only): Only version
7.7.1is supported. Support is tied to the .NET 8 LTS lifetime (ending November 10, 2026). - 5.x (Active, security fixes only): Only version
5.7.0is supported. This version is tied toMicrosoft.Owin.Security.JWT 4.2.2.
Critical Version Warning
Do not use versions 7.0.0 through 7.4.0. These versions contain a critical bug in JSON deserialization. If you are on a 7.x version, upgrade to at least
7.7.1immediately.| Major Version | Last Release | Patch Release Date | Support Phase|End of Support | | --------------|--------------|--------------------|--------------|--------------| | 8.x | Latest | Monthly | Active | ~ Nov, 2028 | | 7.x | 7.7.1 | July 19, 2024 | Active (SF) | Nov 10, 2026 | | 5.x | 5.7.0 | January 9, 2024 | Active (SF) | Tied to Owin |- 8.x (Active): Supports versions from