miSWIYUverifier 1.0.1
dotnet add package miSWIYUverifier --version 1.0.1
NuGet\Install-Package miSWIYUverifier -Version 1.0.1
<PackageReference Include="miSWIYUverifier" Version="1.0.1" />
<PackageVersion Include="miSWIYUverifier" Version="1.0.1" />
<PackageReference Include="miSWIYUverifier" />
paket add miSWIYUverifier --version 1.0.1
#r "nuget: miSWIYUverifier, 1.0.1"
#:package miSWIYUverifier@1.0.1
#addin nuget:?package=miSWIYUverifier&version=1.0.1
#tool nuget:?package=miSWIYUverifier&version=1.0.1
miSWIYUverifier
Client library for verifying Swiss E-ID (swiyu) Beta-ID credentials from .NET.
It drives the management API of the swiyu-verifier service: it builds the DCQL query, creates a verification, renders the wallet deep link as a QR code, polls for the result and flattens the presented claims into a plain object.
All cryptography — SD-JWT parsing, issuer signatures, holder binding, status list checks — is done by the swiyu-verifier service, not by this library. You therefore always run it alongside that service (plus its PostgreSQL), and you need your own verifier DID and signing key from the swiyu identifier registry.
Install
dotnet add package miSWIYUverifier
Use
builder.Services.AddMiSWIYUverifier(builder.Configuration);
var verifier = app.Services.GetRequiredService<VerifierApiService>();
var verification = await verifier.CreateVerificationAsync();
// Show this to the user — the wallet scans it
var qrPng = QrCodeService.GeneratePng(verification.VerificationDeepLink!);
var result = await verifier.WaitForVerificationAsync(verification.Id);
var identity = verifier.ExtractIdentityData(result);
// identity.GivenName, identity.FamilyName, identity.BirthDate, identity.Portrait, ...
Configure
{
"VerifierSettings": {
"ManagementUrl": "http://localhost:8083",
"VctValues": [ "betaid-sdjwt", "urn:vct:ch.admin.bcs.betaid" ],
"AcceptedIssuerDids": [ "did:tdw:…" ],
"RequestedClaims": [ "given_name", "family_name", "birth_date", "portrait" ],
"ResponseMode": "direct_post.jwt"
}
}
Only ManagementUrl is normally worth setting; every list falls back to values that
match the current swiyu Beta-ID. Two of the defaults matter and should not be
weakened: ResponseMode must stay direct_post.jwt (the wallet accepts nothing
else), and VctValues must keep both vct values while the Beta-ID migrates from
betaid-sdjwt to urn:vct:ch.admin.bcs.betaid.
The swiyu sandbox introduces breaking changes without notice. The project README keeps a dated table of every incompatibility hit so far and how each was diagnosed — worth reading before debugging a wallet that suddenly refuses to play along.
License
MIT
| 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
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Http (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- QRCoder (>= 1.6.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 |
|---|---|---|
| 1.0.1 | 104 | 9/10/2026 |