Menu AuthGuardCentro de ajuda
Englishauthguard.pt

Programadores · SDKs

SDK .NET

  • 1 min de leitura
  • SaaS · Instalação própria

O pacote AuthGuard.Sdk usa Microsoft.IdentityModel.JsonWebTokens. Ainda não está publicado no NuGet: construa-o a partir da pasta sdks/dotnet do repositório e publique-o num feed interno.

Referência

dotnet add package AuthGuard.Sdk --version 0.1.0

Criar um pedido e esperar

using AuthGuard.Sdk;

using var intents = new IntentsClient(new IntentsClientOptions
{
    BaseUrl = "https://identity.example.com",
    ClientId = "1c9a2b3d-4e5f-4a6b-9c7d-8e9f0a1b2c3d",
    ClientSecret = Environment.GetEnvironmentVariable("AUTHGUARD_CLIENT_SECRET")!,
    Scopes = new[] { IntentScopes.Write, IntentScopes.Read },
});

var created = await intents.CreateIntentAsync(
    new CreateIntentRequest
    {
        OperationType = "invoice.pay",
        SubjectEmail = "ana@example.com",
        ExternalReference = "INV-42",
        Fields = { ["amount"] = new MoneyValue("1250.00", "EUR") },
    },
    idempotencyKey: "erp-INV-42-attempt-1");

Console.WriteLine(created.Intent.ComparisonCode);   // mostre-o junto à operação

var decided = await intents.WaitForDecisionAsync(created.Intent.IntentId);
if (decided.State == IntentStates.Approved) { /* execute a operação */ }

Webhooks em ASP.NET

Leia o corpo para um MemoryStream, passe os bytes e os cabeçalhos ao verificador do SDK e responda 400 se a verificação falhar. Elimine duplicados pelo webhook-id.

Recibos e OIDC

O SDK verifica o resumo do pedido e a ligação do recibo, e faz o fluxo OIDC com PKCE.

Códigos de erro deste artigo

Referência do artigodev-sdk-dotnetindique-a ao suporte para identificar este artigo. Verificado contra o produto no commit 5f6607a8.