Entra.EventHandlers.AspNetCore
1.2.4
See the version list below for details.
dotnet add package Entra.EventHandlers.AspNetCore --version 1.2.4
NuGet\Install-Package Entra.EventHandlers.AspNetCore -Version 1.2.4
<PackageReference Include="Entra.EventHandlers.AspNetCore" Version="1.2.4" />
<PackageVersion Include="Entra.EventHandlers.AspNetCore" Version="1.2.4" />
<PackageReference Include="Entra.EventHandlers.AspNetCore" />
paket add Entra.EventHandlers.AspNetCore --version 1.2.4
#r "nuget: Entra.EventHandlers.AspNetCore, 1.2.4"
#:package Entra.EventHandlers.AspNetCore@1.2.4
#addin nuget:?package=Entra.EventHandlers.AspNetCore&version=1.2.4
#tool nuget:?package=Entra.EventHandlers.AspNetCore&version=1.2.4
Entra.EventHandlers.AspNetCore
ASP.NET Core hosting adapter for Microsoft Entra External ID and Workforce Authentication Event Handlers. Provides minimal‑boilerplate hosting, full DI support, unified exception handling, structured logging, and complete testability.
License: Business Source License (BSL) Author: Jakub Szubarga (Szubarga.NET)
✨ Features
- 🚀 Single endpoint can host multiple Entra event types
- 🔄 Automatic request deserialization & response serialization
- 🧠 Centralized event orchestration (routing, resolution, invocation)
- 🧩 Dynamic handler resolution via the orchestrator
- 🛡 Structured error mapping (400/500)
- 🧪 Fully unit‑testable
- 🪶 Minimal boilerplate
- 🧭 Clean endpoint mapping extensions
🚀 Quick Start
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEntraEventHandlers();
var app = builder.Build();
app.MapEntraRouter(); // Multi‑event router (recommended)
// Or map individual event endpoints
// app.MapEntraAttributeCollectionStart();
// app.MapEntraAttributeCollectionSubmit();
// app.MapEntraTokenIssuanceStart();
// app.MapEntraEmailOtpSend();
// app.MapPasswordSubmit();
// app.MapVerifiedIdClaimValidation();
app.Run();
🧭 Endpoint Mapping Extensions
app.MapEntraRouter(); // Multi‑event router
app.MapEntraTokenIssuanceStart(); // Single‑event endpoint
Default Routes
| Endpoint | Default Route |
|---|---|
| Router | router |
| AttributeCollectionStart | attributecollectionstart |
| AttributeCollectionSubmit | attributecollectionsubmit |
| TokenIssuanceStart | tokenissuancestart |
| EmailOtpSend | emailotpsend |
| PasswordSubmit | passwordsubmit |
| VerifiedIdClaimValidation | verifiedidclaimvalidation |
🛠 Dependency Injection
services.AddEntraEventHandlers();
Registers:
- Request/response adapters
- Event orchestrator
- Handler resolver
- All
IEntraEventHandler<,>implementations - All ASP.NET Core endpoint classes (router + single‑event)
🔧 Extensibility
All endpoints inherit from a unified execution pipeline with:
- Overridable logging hooks
- Centralized exception handling
- Consistent request/response processing
📁 Samples
👉 ApiSample https://github.com/szubajak/entra-event-handlers/tree/main/samples/ApiSample
The sample demonstrates:
- registering handlers with
AddEntraEventHandlers() - mapping the router endpoint
- mapping individual single‑event endpoints
- using the unified execution pipeline
- structuring a clean, minimal ASP.NET Core API for Entra event handling
📦 Related Packages
- Entra.EventHandlers.Abstractions — public protocol types (MIT)
- Entra.EventHandlers — core implementation layer for External ID (BSL)
- Entra.EventHandlers.Workforce — Workforce‑specific event models and builders (BSL)
- Entra.EventHandlers.AzureFunctions — Azure Functions hosting adapter (BSL)
🔒 License
This package is licensed under the Business Source License (BSL).
See:
LICENSE— full BSL termsLICENSE-COMMERCIAL.md— commercial licensing terms
A commercial license is required for production use by organizations with more than 5 employees.
A commercial license covers the entire Entra Event Handlers ecosystem, including all current and future BSL‑licensed packages.
Commercial License Pricing
- Developer License — €99 / developer / year
- Team License — €399 / year
- Enterprise License — €1499 / year
For commercial licensing or support: 📧 jakub.szubarga@gmail.com
The abstractions package is MIT‑licensed and can be used freely.
📘 Further Reading
For a deeper look into Microsoft Entra External ID Authentication Event Handlers, Workforce scenarios, and the design of this ecosystem, see:
➡️ Entra External ID — .NET Handlers Deep Dive https://medium.com/@jakub.szubarga/entra-external-id-dotnet-handlers-a7447dc1e437
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.7 | 98 | 6/29/2026 |
| 1.2.6 | 105 | 6/29/2026 |
| 1.2.5 | 91 | 6/29/2026 |
| 1.2.4 | 99 | 6/29/2026 |
| 1.2.3 | 94 | 6/29/2026 |
| 1.2.2 | 101 | 6/29/2026 |
| 1.2.1 | 98 | 6/29/2026 |
| 1.2.0 | 99 | 6/29/2026 |
| 1.1.1 | 101 | 6/26/2026 |
| 1.1.0 | 111 | 6/25/2026 |
| 1.0.10 | 104 | 6/25/2026 |
| 1.0.8 | 109 | 6/18/2026 |
| 1.0.7 | 107 | 6/16/2026 |
| 1.0.6 | 112 | 6/11/2026 |
| 1.0.5 | 98 | 6/8/2026 |
| 1.0.4 | 103 | 6/8/2026 |
| 1.0.3 | 105 | 6/8/2026 |
| 1.0.2 | 99 | 6/7/2026 |
| 1.0.1 | 105 | 6/6/2026 |
| 1.0.0 | 100 | 6/6/2026 |
Includes ASP.NET Core hosting adapter for Microsoft Entra External ID and Workforce Authentication
Event Handlers. Provides request/response adapters, endpoint base classes, DI integration, unified
execution pipeline, router endpoint, and single-event endpoint mapping extensions.