async. On .NET Framework, use C# 11 or later. See the server SDKs overview for what every SDK shares.
Install
Didit.Extensions.DependencyInjection and register the client with services.AddDidit().
The packages are Didit and Didit.Extensions.DependencyInjection on NuGet. Their source and changelog are in didit-protocol/sdk-dotnet on GitHub.
Configure the client
new DiditClient() reads DIDIT_API_KEY from the environment. Pass DiditClientOptions to override it, or to set the organization and application ids that application-scoped calls (cases, networks, regulatory reports) need. Create one client and reuse it.
required, so a missing one fails to compile. Optional ones you leave unset are not sent.
Create a session
Create a verification session for a workflow and send your user to its URL.Read the decision
When the user finishes (or when the webhook arrives), read the decision. Every feature result is a list with one entry per workflow node.Verify a webhook
Pass the raw body, exactly as received, and a way to read the request headers.DiditWebhooks.Verify throws WebhookVerificationException for anything that is not a valid, fresh delivery, and returns a typed event otherwise.
StreamReader and pass name => request.Headers[name].FirstOrDefault(). While you rotate the secret, pass both: new[] { newSecret, oldSecret }. See Webhooks for the events and the signature scheme.
Screen a transaction
Submit a payment, withdrawal or crypto transfer to transaction monitoring; the response carries its status and risk score.Verify Authentication tokens
Authentication checks the access tokens your Authentication issuer signs, in your backend, without calling Didit for each request. It also exchanges codes, refreshes tokens, checks and revokes sessions, and runs step-ups.
Token verification makes the checks in Verify a token on your server, against your application’s issuer and signing keys.