Abblix.JWT 2.0.0

Prefix Reserved
dotnet add package Abblix.JWT --version 2.0.0
                    
NuGet\Install-Package Abblix.JWT -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Abblix.JWT" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Abblix.JWT" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Abblix.JWT" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Abblix.JWT --version 2.0.0
                    
#r "nuget: Abblix.JWT, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Abblix.JWT@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Abblix.JWT&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Abblix.JWT&version=2.0.0
                    
Install as a Cake Tool

Abblix OIDC Server

Abblix OIDC Server is a robust .NET library that implements the OpenID Connect protocol on the server side. It is designed to meet high standards of flexibility, reusability, and reliability, using well-known software design patterns such as modular and hexagonal architectures. These patterns ensure that different parts of the library can work independently, improving the library's modularity, testability, and maintainability. The library also supports Dependency Injection using the standard .NET DI container, which aids in better organization and management of code. Specifically tailored for seamless integration with ASP.NET WebApi, Abblix OIDC Server employs standard controller classes, binding, and routing mechanisms to simplify the integration of OpenID Connect into your services.

What's New in Version 2.0.0

Breaking Changes

  • Result Pattern Migration: Migrated to Result<TSuccess, TFailure> pattern for compiler-enforced explicit error handling and functional programming style
  • Framework Updates: Dropped .NET 6 & 7 (EOL) - now targets .NET 8 (LTS), .NET 9 (STS), and .NET 10 (LTS - released Nov 2025, supported until Nov 2028)

🚀 Features

  • mTLS Client Authentication (RFC 8705): Self-signed and PKI/CA validation with certificate-bound tokens
  • JWT Bearer Grant Type (RFC 7523): Service-to-service authentication using signed JWTs for secure API-to-API communication
  • Device Authorization Grant (RFC 8628): OAuth flow for input-constrained devices (smart TVs, IoT, CLI tools)
  • CIBA Ping/Push Modes & Long-Polling: Complete delivery mode implementation with ping notifications, push token delivery, and long-polling support
  • client_secret_jwt Authentication: JWT-based client authentication per OIDC Core spec
  • SSRF Protection: Multi-layered defense with DNS validation and IP blocking
  • Protocol Buffer Serialization: 40-60% smaller storage footprint with faster processing
  • ECDSA Certificate Support: Enables compliance with modern security standards that mandate or prefer elliptic curve cryptography

Migration Required: This is a major version update with breaking changes. Review your code for Result pattern usage and update error handling accordingly.

NuGet Packages Description

  • Abblix.OIDC.Server This core package implements the OpenID Connect (OIDC) server functionality, providing a robust, compliant, and extensible framework for adding OIDC-based authentication and authorization to .NET applications. It supports various OIDC flows and configurations, tailored for modern application security needs.

  • Abblix.OIDC.Server.MVC Tailored for ASP.NET MVC applications, this package extends the Abblix.OIDC.Server to integrate smoothly with the MVC framework. It simplifies the process of securing MVC applications with OIDC, handling the intricacies of user authentication, session management, and secure redirections.

  • Abblix.JWT The Abblix.JWT package facilitates handling of JSON Web Tokens (JWTs) within the .NET ecosystem. It builds on top of System.IdentityModel.Tokens.Jwt to provide utilities for token validation, generation, and management, making it essential for securing web applications and services that rely on stateless authentication mechanisms.

  • Abblix.DependencyInjection This package extends Microsoft's default dependency injection (DI) framework. It allows for more advanced scenarios such as overriding dependencies directly via type, instance, or factory, aliasing services, and more complex service compositions and decorations. It integrates seamlessly, enhancing flexibility and maintainability of DI configurations in .NET applications.

  • Abblix.Utils A utility package that provides common functionalities needed across various parts of the Abblix OIDC server implementation. These include helpers for logging, data manipulation, and other cross-cutting concerns that are essential for the operation and maintenance of security-focused services.

Implemented technologies and standards

Abblix OIDC Server fully implements a comprehensive suite of advanced standards for authorization and security, providing a robust and secure environment for authorization data handling. Here are the key standards implemented in our product.

  • The OAuth 2.0 Authorization Framework: RFC 6749: Defines procedures for secure authorization of applications including authorization code, implicit, client credentials, and resource owner password credentials flows.
  • The OAuth 2.0 Authorization Framework: Bearer Token Usage: RFC 6750: Explains how to securely use bearer tokens to access resources.
  • OAuth 2.0 Token Revocation: RFC 7009: Describes methods to securely cancel access and refresh tokens.
  • OAuth 2.0 Token Introspection: RFC 7662: Allows resource servers to verify the active state and metadata of tokens.
  • Proof Key for Code Exchange (PKCE): RFC 7636: Improves security for public clients during authorization code exchange with S256 and plain methods.
  • OAuth 2.0 Device Authorization Grant: RFC 8628: Enables OAuth 2.0 authorization on devices with limited input capabilities (smart TVs, game consoles, IoT devices) by delegating user interaction to a secondary device. Includes brute force protection with exponential backoff and per-IP rate limiting (RFC 8628 Section 5.2), plus atomic device code redemption to prevent race conditions (RFC 8628 Section 3.5).
  • OAuth 2.0 Dynamic Client Registration Protocol: RFC 7591: Provides mechanisms for clients to register dynamically with authorization servers.
  • OAuth 2.0 Dynamic Client Registration Management Protocol: RFC 7592: Enables management operations (read, update, delete) for dynamically registered clients.
  • OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens: RFC 8705: Provides mutual TLS authentication with PKI and self-signed certificate validation, plus certificate-bound tokens.
  • OAuth 2.0 Token Exchange: RFC 8693: Details the method for a secure exchange of one token type for another.
  • OAuth 2.0 Resource Indicators: RFC 8707: Enables clients to specify the resources they want access to, enhancing security and access control.
  • JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens: RFC 9068: Specifies the use of JWTs as OAuth 2.0 access tokens.
  • JWT-Secured Authorization Request (JAR): RFC 9101: Secures authorization requests using JWTs.
  • OAuth 2.0 Pushed Authorization Requests (PAR): RFC 9126: Enhances security by allowing clients to push authorization requests directly to the server.
  • OAuth 2.0 Authorization Server Issuer Identification: RFC 9207: Ensures the authenticity of authorization servers to clients.
  • OAuth 2.0 Multiple Response Type Encoding Practices: Specification: Encodes different response types in OAuth 2.0 requests.
  • OAuth 2.0 Form Post Response Mode: Specification: Transmits OAuth 2.0 responses via HTTP form posts.
  • JWT Secured Authorization Response Mode (JARM): Specification: Secures authorization responses using JWTs.
  • JSON Web Signature (JWS): RFC 7515: Defines digital signature and MAC methods for JSON data structures.
  • JSON Web Encryption (JWE): RFC 7516: Defines encryption methods for JSON data structures.
  • JSON Web Key (JWK): RFC 7517: Defines a JSON representation of cryptographic keys.
  • JSON Web Algorithms (JWA): RFC 7518: Defines cryptographic algorithms for use with JWS, JWE, and JWK.
  • JSON Web Token (JWT): RFC 7519: Defines structure and use of JWTs for representing claims securely.
  • JWT Profile for OAuth 2.0 Client Authentication and Authorization Grants: RFC 7523: Uses JWTs for secure client authentication (private_key_jwt, client_secret_jwt) and as authorization grants.
  • OpenID Connect Core 1.0: Specification: Core functionality for OpenID Connect identity layer over OAuth 2.0, including ID Token issuance, standard claims, and authentication flows.
  • OpenID Connect Discovery 1.0: Specification: Enables clients to discover provider configurations dynamically via the well-known endpoint.
  • OpenID Connect Dynamic Client Registration 1.0: Specification: Enables OpenID Connect clients to register dynamically with providers.
  • OpenID Connect Session Management 1.0: Specification: Manages user session states in identity providers with check_session_iframe support.
  • OpenID Connect RP-Initiated Logout 1.0: Specification: Details logout initiated by relying parties via the end-session endpoint.
  • OpenID Connect Front-Channel Logout 1.0: Specification: Handles logout requests through front-channel communication.
  • OpenID Connect Back-Channel Logout 1.0: Specification: Manages logout processes using back-channel communication with logout tokens.
  • OpenID Connect Client-Initiated Backchannel Authentication (CIBA): Specification: Enables secure user authentication via backchannel communication on devices without direct web access, ideal for IoT and financial services scenarios. Supports three delivery modes: poll (client polls token endpoint), ping (server notifies client at callback), push (server delivers tokens to notification endpoint)
  • Pairwise Pseudonymous Identifiers (PPID): OpenID Connect Core Section 8: Implements a privacy mechanism by generating unique subject identifiers per client.

Getting Started

To better understand the Abblix OIDC Server product, we strongly recommend visiting our comprehensive Documentation site. Please explore the Getting Started Guide, designed to provide you with all the necessary instructions and tips for a thorough understanding of our solution.

Contacts

For more details about our products, services, or any general information regarding the Abblix OIDC Server, feel free to reach out to us. We are here to provide support and answer any questions you may have. Below are the best ways to contact our team:

We look forward to assisting you and ensuring your experience with our products is successful and enjoyable!

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Abblix.JWT:

Package Downloads
Abblix.OIDC.Server

Flexible OpenID Connect and OAuth 2.0 server-side implementation for modern ASP.NET projects

Abblix.OIDC.Server.MVC

The package integrates Abblix's OIDC Server capabilities with ASP.NET MVC, offering seamless support for OpenID Connect in MVC applications. It enables fast and easy implementation of secure OpenID Connect protocols, ensuring security features are accessible within the MVC framework.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 157 11/26/2025
1.6.0 289 8/14/2025
1.5.0 253 6/25/2025
1.4.0 291 4/9/2025
1.3.1 244 12/3/2024
1.3.0.1 211 11/28/2024
1.3.0 223 11/13/2024
1.2.0.1 195 10/16/2024
1.2.0 212 10/11/2024
1.1.0 317 7/9/2024
1.0.100 250 5/3/2024

v2.0: Major release with mTLS authentication (RFC 8705), JWT Bearer grants (RFC 7523), Device Authorization (RFC 8628), CIBA Ping/Push modes & Long-Polling, and Result pattern migration. BREAKING: Dropped .NET 6/7, requires .NET 8+ and supports .NET 10. Full details: https://github.com/Abblix/Oidc.Server/blob/master/CHANGELOG.md