SdJwt.Net.Oid4Vci
1.0.2
dotnet add package SdJwt.Net.Oid4Vci --version 1.0.2
NuGet\Install-Package SdJwt.Net.Oid4Vci -Version 1.0.2
<PackageReference Include="SdJwt.Net.Oid4Vci" Version="1.0.2" />
<PackageVersion Include="SdJwt.Net.Oid4Vci" Version="1.0.2" />
<PackageReference Include="SdJwt.Net.Oid4Vci" />
paket add SdJwt.Net.Oid4Vci --version 1.0.2
#r "nuget: SdJwt.Net.Oid4Vci, 1.0.2"
#:package SdJwt.Net.Oid4Vci@1.0.2
#addin nuget:?package=SdJwt.Net.Oid4Vci&version=1.0.2
#tool nuget:?package=SdJwt.Net.Oid4Vci&version=1.0.2
SdJwt.Net.Oid4Vci - OpenID for Verifiable Credential Issuance
Implementation of OpenID4VCI 1.0 models and helpers for standardized credential issuance flows.
Features
- OID4VCI 1.0 Models: Offer, token, request, and response payloads
- Grant Flow Support: Authorization Code and Pre-Authorized Code patterns
- Proof Support: Single-proof and multi-proof request models
- Transport-Agnostic Design: Works with ASP.NET Core, worker services, and custom gateways
- Deferred Issuance Support: Acceptance-token response model support
Installation
dotnet add package SdJwt.Net.Oid4Vci
Quick Start
Build a Credential Offer
using SdJwt.Net.Oid4Vci.Models;
using System.Text.Json;
var credentialOffer = new CredentialOffer
{
CredentialIssuer = "https://issuer.example.com",
CredentialConfigurationIds = new[] { "university_degree" }
};
credentialOffer.AddPreAuthorizedCodeGrant(
preAuthorizedCode: "pre-auth-code-123");
var qrUrl =
$"openid-credential-offer://?credential_offer={Uri.EscapeDataString(JsonSerializer.Serialize(credentialOffer))}";
Build a Credential Request
using SdJwt.Net.Oid4Vci.Models;
var credentialRequest = CredentialRequest.Create(
vct: "https://issuer.example.com/credentials/university-degree",
proofJwt: holderProofJwt);
credentialRequest.Validate();
Build a Credential Response
using SdJwt.Net.Oid4Vci.Models;
var credentialResponse = CredentialResponse.Success(
credential: issuedCredential,
format: Oid4VciConstants.SdJwtVcFormat);
Common Use Cases
- University issuance with pre-authorized codes
- Government onboarding with OAuth authorization code flow
- Enterprise onboarding with batch and deferred issuance
- Wallet interoperability through standard OpenID4VCI payloads
Documentation
For full end-to-end implementation, see:
License
Licensed under the Apache License 2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- Microsoft.IdentityModel.Tokens (>= 8.12.1)
- SdJwt.Net (>= 1.0.2)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
- System.Text.Json (>= 8.0.5)
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- Microsoft.IdentityModel.Tokens (>= 8.12.1)
- SdJwt.Net (>= 1.0.2)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
-
net8.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- Microsoft.IdentityModel.Tokens (>= 8.12.1)
- SdJwt.Net (>= 1.0.2)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
-
net9.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- Microsoft.IdentityModel.Tokens (>= 8.12.1)
- SdJwt.Net (>= 1.0.2)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on SdJwt.Net.Oid4Vci:
| Package | Downloads |
|---|---|
|
SdJwt.Net.HAIP
Implementation of OpenID4VC High Assurance Interoperability Profile (HAIP) for the SD-JWT .NET ecosystem. Provides policy-based compliance validation and enforcement for government and enterprise use cases. Ready for .NET 10. |
|
|
SdJwt.Net.Wallet
Generic, extensible identity wallet implementation for .NET, supporting SD-JWT VC and mdoc credentials. Provides credential management, key management, OpenID4VCI/VP protocol adapters, and integration with trust infrastructure. Based on EUDI Android/iOS wallet architectures. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version 1.0.0: Complete OID4VCI 1.0 protocol support with
modular architecture, deferred credential delivery, comprehensive grant
types, and production-ready SD-JWT integration. Ready for .NET 10.