ZcapLd.AspNetCore
5.0.0
See the version list below for details.
dotnet add package ZcapLd.AspNetCore --version 5.0.0
NuGet\Install-Package ZcapLd.AspNetCore -Version 5.0.0
<PackageReference Include="ZcapLd.AspNetCore" Version="5.0.0" />
<PackageVersion Include="ZcapLd.AspNetCore" Version="5.0.0" />
<PackageReference Include="ZcapLd.AspNetCore" />
paket add ZcapLd.AspNetCore --version 5.0.0
#r "nuget: ZcapLd.AspNetCore, 5.0.0"
#:package ZcapLd.AspNetCore@5.0.0
#addin nuget:?package=ZcapLd.AspNetCore&version=5.0.0
#tool nuget:?package=ZcapLd.AspNetCore&version=5.0.0
ZcapLd.AspNetCore
Optional ASP.NET Core adapter for ZcapLd.Core signed revocation workflows.
Features
- Minimal API endpoint rails for revocation status and revocation requests
- DI registration helpers for default and custom
IRevocationStorebackends - Works with pluggable stores (database, contract client, oracle bridge, cache)
Quick Start
using ZcapLd.AspNetCore.DependencyInjection;
using ZcapLd.AspNetCore.Endpoints;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddZcapServices();
builder.Services.AddZcapRevocationSupport();
// Configure an IRootCapabilityResolver for delegated-capability revocation.
var app = builder.Build();
app.MapZcapRevocationEndpoints();
app.Run();
For a custom backend, register your own IRevocationStore implementation:
builder.Services.AddZcapRevocationSupport<MyRevocationStore>();
Setup Revocation Endpoints
MapZcapRevocationEndpoints() exposes:
POST /zcaps/revocations/{*capabilityId}— revoke from a signed request (proof-of-possession). Body:{ capability, signedRevocation }(the latter fromISigningService.SignRevocationAsync). Returns403when unauthenticated/unauthorized. RequiresAddZcapServices()(it resolvesIVerificationService), notAddZcapRevocationSupport()alone.GET /zcaps/revocations/{*capabilityId}
To customize route prefix:
app.MapZcapRevocationEndpoints("/wallet/revocations");
Expose Revocation in a Different Manner
If you do not want HTTP endpoints, use ZcapLd.Core directly and expose IRevocationService via your preferred transport:
- gRPC
- worker/message-driven services
- admin CLI flows
- contract relayer/oracle processes
Persistence Strategies for Revocation Registries
Register persistence strategy through AddZcapRevocationSupport(...):
- Default in-memory:
builder.Services.AddZcapRevocationSupport();
- Custom type:
builder.Services.AddZcapRevocationSupport<MyRevocationStore>();
- Custom factory (for advanced composition/hybrid stores):
builder.Services.AddZcapRevocationSupport(sp =>
new HybridRevocationStore(/* dependencies from sp */));
See docs/REVOCATION-INTEGRATION.md for full guidance.
Target restrictions
Using ZcapLd.Core.Services, register VerificationPolicy before AddZcapServices() to permit target narrowing:
builder.Services.AddSingleton(new VerificationPolicy { AllowTargetAttenuation = true });
builder.Services.AddZcapServices();
The default requires exact target matches. Applications enforce path/query semantics.
Version 5 removes AddZcapValidWhileTrueSupport, AddZcapCaveatType, and all
vocabulary caveat processing. Incoming caveat fields are rejected. Submit signed
revocations to the target verifier and use shared durable revocation state across replicas.
| 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
- ZcapLd.Core (>= 5.0.0)
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 |
|---|---|---|
| 6.0.0 | 259 | 11/3/2026 |
| 5.0.0 | 226 | 10/25/2026 |
| 4.2.0 | 656 | 7/28/2026 |
| 4.1.0 | 148 | 7/14/2026 |
| 4.0.0 | 151 | 6/19/2026 |
| 3.0.0 | 140 | 6/6/2026 |
| 2.1.1 | 130 | 5/2/2026 |
| 2.0.0 | 141 | 4/29/2026 |
| 1.2.0 | 375 | 3/27/2026 |
| 1.1.0 | 311 | 3/18/2026 |
| 1.0.0 | 145 | 3/9/2026 |
| 0.3.3 | 536 | 3/4/2026 |
| 0.3.2 | 222 | 3/1/2026 |
| 0.3.1 | 143 | 3/1/2026 |
| 0.3.0 | 146 | 2/28/2026 |
| 0.2.1 | 210 | 2/26/2026 |
| 0.2.0 | 149 | 2/26/2026 |
| 0.1.1 | 138 | 2/24/2026 |
| 0.1.0 | 144 | 2/24/2026 |