Cirreum.AuthenticationProvider
3.0.0
See the version list below for details.
dotnet add package Cirreum.AuthenticationProvider --version 3.0.0
NuGet\Install-Package Cirreum.AuthenticationProvider -Version 3.0.0
<PackageReference Include="Cirreum.AuthenticationProvider" Version="3.0.0" />
<PackageVersion Include="Cirreum.AuthenticationProvider" Version="3.0.0" />
<PackageReference Include="Cirreum.AuthenticationProvider" />
paket add Cirreum.AuthenticationProvider --version 3.0.0
#r "nuget: Cirreum.AuthenticationProvider, 3.0.0"
#:package Cirreum.AuthenticationProvider@3.0.0
#addin nuget:?package=Cirreum.AuthenticationProvider&version=3.0.0
#tool nuget:?package=Cirreum.AuthenticationProvider&version=3.0.0
Cirreum.AuthenticationProvider
Authentication track abstractions for the Cirreum framework — the contracts scheme implementations and runtime composition build on.
Overview
Cirreum.AuthenticationProvider is the abstraction layer for Cirreum's Authentication track — one of the three that separate concerns across identity: Identity, Authentication, and Authorization. It defines the contracts that:
- Scheme packages implement —
Cirreum.Authentication.ApiKey,Cirreum.Authentication.SignedRequest,Cirreum.Authentication.SessionTicket, etc. - Runtime composition wires —
Cirreum.Runtime.AuthenticationProvider(the dynamic forward scheme resolver, auth-event hosted handlers, cache invalidators, boot-time analyzers) - The umbrella package exposes —
Cirreum.Runtime.Authentication(theAddAuthentication(...)app-facing builder)
Contract surface
Registrars — the base every scheme package derives from:
AuthenticationProviderRegistrar<TSettings, TInstanceSettings>— per-instance registration, scheme-name derivation (the instance key is the scheme name), and instance-key deduplicationHeaderAuthenticationProviderRegistrar<,>/AudienceAuthenticationProviderRegistrar<,>— the host-type-sensitivity split, by credential transportProviderNameandSubjectKind— the two constants a provider declares.SubjectKindstates whether the provider authenticates people or machines, so nothing downstream has to infer it from a token's contents
Schemes:
ISchemeSelector+SchemeCategoryenum — per-request scheme dispatch (open/closed)CredentialTransportenum — where the scheme reads its credentialISignedRequestAlgorithm+ resolver — version-pluggable crypto for SignedRequest schemeSessionTicketfamily — HTTP→long-lived-connection handoff primitives
Settings:
AuthenticationProviderSettings<TInstanceSettings>/AuthenticationProviderInstanceSettings— the configuration bases bound fromCirreum:Authentication:Providers:{ProviderName}ClaimAuthoritySettings— the optional per-instanceClaimAuthorityblock declaring who owns a scheme's callers, the identity provider or the application's own store, separately forProfileandRoles
Patterns:
IAuthenticationBuilder— the builder surface scheme registrations extend[AllowPendingAuth]— opt-in for Two-Phase Auth's anonymous-pending-auth pattern
Compositions:
AudienceSchemeRegistration— the audience → scheme routing contribution audience-based registrars add per instanceSchemeClaimAuthorityRegistration— the claim-authority declaration contributed per registered scheme, aggregated by the runtimeIRevokedCredentialProvider— app-side credential revocation hydrationConfigureCoordination(...)/AddDefaultCoordinationScope()— auth-track conveniences over the neutralCirreum.Coordinationprimitive, letting the backend be chosen inside the composition callback and defaulting the scope to{app}:{env}
Profile enrichment (IUserProfileEnrichmentBuilder, IGraphEnabledBuilder, IExternalGraphEnabledBuilder, ClaimsUserProfileEnricher) is not part of this package — it's host-agnostic (any host may enrich a profile post-authentication, regardless of which — or whether any — auth scheme is active) and lives in Cirreum.Contracts/Cirreum.Domain instead. The same reasoning applies to authentication-boundary resolution (IAuthenticationBoundaryResolver, AuthenticationBoundary): the server user-state pipeline consumes it whether or not any authentication scheme is composed, so it lives in Cirreum.Kernel.
Attribute authority splits along the same line. The vocabulary — SubjectKind, ClaimAuthority, SchemeClaimAuthority, ISchemeClaimAuthorityMap — lives in Cirreum.Kernel, because operation authorizers read the resolved answer off IUserState and sit below this package. What lives here is the declaring: the registrar constant, the settings block, and the per-scheme contribution that carries them into composition.
Where it fits
Cirreum.Kernel (auth event bus — IAuthenticationEventPublisher/Handler;
attribute-authority vocabulary — SubjectKind, ClaimAuthority)
Cirreum.AuthenticationProvider ← this package
Cirreum.Authentication.{Scheme} — ApiKey, SignedRequest, SessionTicket, ...
Cirreum.Runtime.AuthenticationProvider
Cirreum.Runtime.Authentication (app-facing umbrella; AddAuthentication(...))
License
MIT — see LICENSE.
| 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. |
-
net10.0
- Cirreum.Contracts (>= 4.2.1)
- Cirreum.Coordination (>= 1.3.1)
- Cirreum.Providers (>= 1.3.1)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Cirreum.AuthenticationProvider:
| Package | Downloads |
|---|---|
|
Cirreum.Authentication.ApiKey
ApiKey authentication scheme for the Cirreum framework. Provides the ApiKey authentication handler, options, registrar, ISchemeSelector, and a source-based client resolver family — static configured keys plus dynamic default / named sources (with optional per-source caching and X-Api-Source routing). Supports both Authorization: Bearer and custom-header credential transports. |
|
|
Cirreum.Authentication.Entra
Azure Entra ID authentication scheme for the Cirreum framework. Wraps Microsoft.Identity.Web for Entra-issued JWT validation (Web API) and OpenID Connect (Web App). |
|
|
Cirreum.Authentication.External
BYOID (Bring-Your-Own-IDp) external authentication scheme for the Cirreum framework. Validates JWT bearer tokens from multiple customer Identity Providers (Okta, Auth0, customer Entra tenants) per tenant-identifier resolution (header / path / subdomain), via an ISchemeSelector that routes to the resolved tenant's issuer. |
|
|
Cirreum.Authentication.SessionTicket
SessionTicket authentication scheme for the Cirreum framework — session-establishment credentials minted by app code (negotiate endpoints, webhook handlers) and validated at WebSocket / SignalR / gRPC handshake. Opaque single-use tickets over Authorization: Bearer transport with an in-memory store; distributed deployments register their own ISessionStore. |
|
|
Cirreum.Authentication.Oidc
Generic OIDC authentication scheme for the Cirreum framework. Validates JWTs from any OIDC-compliant issuer using standard AddJwtBearer — no vendor SDK dependency. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.2.0 | 217 | 8/24/2026 |
| 3.1.0 | 93 | 8/24/2026 |
| 3.0.5 | 79 | 8/24/2026 |
| 3.0.4 | 207 | 8/20/2026 |
| 3.0.3 | 162 | 8/18/2026 |
| 3.0.2 | 160 | 8/17/2026 |
| 3.0.1 | 90 | 8/17/2026 |
| 3.0.0 | 102 | 8/17/2026 |
| 2.0.5 | 200 | 8/4/2026 |
| 2.0.4 | 111 | 8/3/2026 |
| 2.0.3 | 192 | 7/31/2026 |
| 2.0.2 | 99 | 7/31/2026 |
| 2.0.1 | 215 | 7/29/2026 |
| 2.0.0 | 204 | 7/27/2026 |
| 1.4.2 | 193 | 7/25/2026 |
| 1.4.1 | 237 | 7/20/2026 |
| 1.4.0 | 105 | 7/20/2026 |
| 1.3.0 | 98 | 7/20/2026 |
| 1.2.2 | 223 | 7/18/2026 |
| 1.2.1 | 256 | 7/7/2026 |