Cirreum.Runtime.Identity
1.0.4
dotnet add package Cirreum.Runtime.Identity --version 1.0.4
NuGet\Install-Package Cirreum.Runtime.Identity -Version 1.0.4
<PackageReference Include="Cirreum.Runtime.Identity" Version="1.0.4" />
<PackageVersion Include="Cirreum.Runtime.Identity" Version="1.0.4" />
<PackageReference Include="Cirreum.Runtime.Identity" />
paket add Cirreum.Runtime.Identity --version 1.0.4
#r "nuget: Cirreum.Runtime.Identity, 1.0.4"
#:package Cirreum.Runtime.Identity@1.0.4
#addin nuget:?package=Cirreum.Runtime.Identity&version=1.0.4
#tool nuget:?package=Cirreum.Runtime.Identity&version=1.0.4
Cirreum Runtime Identity
Umbrella Runtime Extensions package for the Cirreum Identity provider family. Install this one package to wire up every supported identity provider (OIDC webhook + Entra External ID) behind a single AddIdentity() / MapIdentity() pair.
Overview
Install Cirreum.Runtime.Identity when your application uses more than one identity-provider protocol — for example an API serving both Descope (OIDC webhook) clients and an Entra External ID tenant. Installing a single per-protocol package is preferable if you only need one of them (pay-for-what-you-use):
| Your app has... | Install |
|---|---|
| One OIDC-based IdP (Descope / Auth0 / …) | Cirreum.Runtime.Identity.Oidc |
| Entra External ID only | Cirreum.Runtime.Identity.EntraExternalId |
| Both (N+1 clients using different IdPs) | Cirreum.Runtime.Identity (this package) |
Installation
dotnet add package Cirreum.Runtime.Identity
Usage
using Microsoft.Extensions.Hosting;
using Microsoft.AspNetCore.Builder;
var builder = WebApplication.CreateBuilder(args);
builder.AddIdentity(p => p
.AddProvisioner<ClientABorrowerProvisioner>("clientA_descope") // Oidc instance
.AddProvisioner<ClientBBorrowerProvisioner>("clientB_descope") // Oidc instance
.AddProvisioner<EmployeeProvisioner>("primary")); // EntraExternalId instance
var app = builder.Build();
app.UseAuthentication();
app.UseAuthorization();
app.MapIdentity();
app.Run();
AddIdentity() registers both the Oidc and EntraExternalId providers from their respective Cirreum:Identity:Providers:* configuration sections. MapIdentity() maps every enabled instance's route across both providers.
App-provided provisioner classes derive from the base that matches each instance's onboarding model (InvitationUserProvisionerBase<TUser> or SelfServiceUserProvisionerBase<TUser>). See Cirreum.IdentityProvider for the provisioner hierarchy and the sibling packages for each protocol's wire contract and configuration:
Cirreum.Identity.Oidc— OIDC webhook configuration, wire contract, security modelCirreum.Identity.EntraExternalId— Entra External ID setup, tenant-ID issuer format, Azure Portal walkthrough
What this package contains
Just two extension methods composing the per-protocol packages:
builder.AddIdentity(configure?)— callsAddOidcIdentity()andAddEntraExternalIdIdentity()(each dedups its own provider registration via marker type), then invokes the configure callback once against a singleIdentityBuildersoAddProvisioner<T>(key)calls run once per key.app.MapIdentity()— invokes every registeredIdentityProviderMapping(unfiltered). Per-protocol packages still expose their own filteredMapOidcIdentity()/MapEntraExternalIdIdentity()if you want granular control.
Dependencies
- Cirreum.Runtime.Identity.Oidc (brings in
Cirreum.Identity.Oidc+Cirreum.Runtime.IdentityProvidertransitively) - Cirreum.Runtime.Identity.EntraExternalId (brings in
Cirreum.Identity.EntraExternalIdtransitively)
License
MIT — see LICENSE.
Cirreum Foundation Framework
Layered simplicity for modern .NET
| 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.Runtime.Identity.EntraExternalId (>= 1.0.3)
- Cirreum.Runtime.Identity.Oidc (>= 1.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.