Skip to content

Abblix/Oidc.Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Abblix OIDC Server .NET language OS CPU security rating reliability rating maintainability rating CodeQL analysis tests GitHub release GitHub release date GitHub last commit getting started Free

⭐ Star us on GitHub β€” your support motivates us a lot! πŸ™πŸ˜Š

Share Share Share Share Share

πŸ”₯ Why OIDC Server is the best choice for authentication β€” find out in our presentation πŸ“‘

Table of Contents

πŸš€ About

Abblix OIDC Server is a .NET library designed to provide comprehensive support for OAuth2 and OpenID Connect on the server side. It adheres to high standards of flexibility, reusability, and reliability, utilizing well-known software design patterns, including modular and hexagonal architectures. These patterns ensure the following benefits:

  • Modularity: Different parts of the library can function independently, enhancing the library's modularity and allowing for easier maintenance and updates.
  • Testability: Improved separation of concerns makes the code more testable.
  • Maintainability: Clear structure and separation facilitate better management of the codebase.

The library also supports Dependency Injection through the standard .NET DI container, aiding in the 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, simplifying the integration of OpenID Connect into your services.

✨ What's New

Version 2.0.0 (Latest)

⚑ 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 Note: This release contains breaking changes. See πŸ“‹Migration Guide.

πŸŽ“ Certification

OpenID_Foundation_Certification

We are certified in all profiles. During the certification process, we skipped ZERO tests and received NO warnings. All 630 tests Passed. We are extremely proud of this achievement. It reflects our overall approach to any endeavor. For more details, click the links (Certified OpenID Providers & Profiles, Certified OpenID Providers for Logout Profiles).

For convenience, the certification information is provided in the tables below:

Regular Profiles

OIDC Profile Response Types (links to official OpenID Foundation test results) Tests
Basic OP code 37
Implicit OP id_token 58
Hybrid OP code id_token 102
Config OP config 1
Dynamic OP code | code id_token | code id_token token | code token | id_token | id_token token 121
Form Post OP code | code id_token | id_token 197
3rd Party-Init OP code | code id_token | code id_token token | code token | id_token | id_token token 12
Total 528

Logout Profiles

OIDC Profile Response Types (links to official OpenID Foundation test results) Tests
RP-Initiated OP code | code id_token | code id_token token | code token | id_token | id_token token 66
Session OP code | code id_token | code id_token token | code token | id_token | id_token token 12
Front-Channel OP code | code id_token | code id_token token | code token | id_token | id_token token 12
Back-Channel OP code | code id_token | code id_token token | code token | id_token | id_token token 12
Total 102

πŸ“ How to Build

To build the packages, follow these steps:

# Open a terminal (Command Prompt or PowerShell for Windows, Terminal for macOS or Linux)

# Ensure Git is installed
# Visit https://git-scm.com to download and install console Git if not already installed

# Clone the repository
git clone https://github.com/Abblix/Oidc.Server.git

# Navigate to the project directory
cd Oidc.Server

# Check if .NET SDK is installed
dotnet --version  # Check the installed version of .NET SDK
# Visit the official Microsoft website to install or update it if necessary

# Restore dependencies
dotnet restore

# Compile the project
dotnet build

πŸ“š Documentation

Getting Started

Explore the Getting Started Guide. In this guide, you will create a working solution step by step, building an OpenID Connect Provider using ASP.NET MVC and the Abblix OIDC Server solution.

To better understand the Abblix OIDC Server product, we recommend visiting our Documentation site. There, you will find useful information about the product and the OpenID Connect standard.

🀝 Feedback and Contributions

We've made every effort to implement all the main aspects of the OpenID protocol in the best possible way. However, the development journey doesn't end here, and your input is crucial for our continuous improvement.

Important

Whether you have feedback on features, have encountered any bugs, or have suggestions for enhancements, we're eager to hear from you. Your insights help us make the Abblix OIDC Server library more robust and user-friendly.

Please feel free to contribute by submitting an issue or joining the discussions. Each contribution helps us grow and improve.

We appreciate your support and look forward to making our product even better with your help!

πŸ“ƒ License

This product is distributed under a proprietary license. SeeπŸ“‹License Agreement for details.

For non-commercial use, this product is available for free.

πŸ—¨οΈ 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:

Subscribe to our LinkedIn and Twitter:

LinkedIn X

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

Back to top