ZcapLd.AspNetCore
1.0.0
dotnet add package ZcapLd.AspNetCore --version 1.0.0
NuGet\Install-Package ZcapLd.AspNetCore -Version 1.0.0
<PackageReference Include="ZcapLd.AspNetCore" Version="1.0.0" />
<PackageVersion Include="ZcapLd.AspNetCore" Version="1.0.0" />
<PackageReference Include="ZcapLd.AspNetCore" />
paket add ZcapLd.AspNetCore --version 1.0.0
#r "nuget: ZcapLd.AspNetCore, 1.0.0"
#:package ZcapLd.AspNetCore@1.0.0
#addin nuget:?package=ZcapLd.AspNetCore&version=1.0.0
#tool nuget:?package=ZcapLd.AspNetCore&version=1.0.0
ZcapLd.AspNetCore
Optional ASP.NET Core adapter for ZcapLd.Core revocation and ValidWhileTrue workflows.
Features
- Minimal API endpoint rails for revocation status and revocation requests
- ValidWhileTrue caveat support via
HttpValidWhileTrueHandler(HTTP-based remote revocation checking) - 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.AddZcapRevocationSupport();
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}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.
ValidWhileTrue Caveat Support
Enable HTTP-based ValidWhileTrue caveat checking for verifiers:
builder.Services.AddZcapValidWhileTrueSupport();
builder.Services.AddZcapServices();
This registers HttpValidWhileTrueHandler, which GETs the caveat URI during invocation verification and checks the isRevoked field from the RevocationStatusHttpResponse. The existing GET /zcaps/revocations/{*capabilityId} endpoint serves as the backend.
The named HttpClient ("ZcapValidWhileTrue") can be configured for timeouts and retry policies:
builder.Services.AddHttpClient("ZcapValidWhileTrue", client =>
{
client.Timeout = TimeSpan.FromSeconds(5);
});
Custom handler implementations can be registered via:
builder.Services.AddZcapValidWhileTrueSupport<MyCustomHandler>();
| 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 (>= 1.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.