Programadores · SDKs
SDK TypeScript / Node.js
O pacote @authguard/sdk serve Node.js e usa jose para os JWT.
Instalar
Ainda não está no npm. A partir da pasta sdks/typescript do repositório:
npm ci && npm pack # produz authguard-sdk-0.1.0.tgz
npm install ./authguard-sdk-0.1.0.tgzCriar um pedido e esperar
import { IntentsClient, ApiError } from "@authguard/sdk";
const intents = new IntentsClient({
baseUrl: "https://identity.example.com",
clientId: process.env.AUTHGUARD_CLIENT_ID!,
clientSecret: process.env.AUTHGUARD_CLIENT_SECRET!,
});
const { intent } = await intents.createIntent(
{ operationType: "invoice.pay", subjectEmail: "ana@example.com",
externalReference: "INV-42", expiresInSeconds: 900,
fields: { amount: { amount: "1250.00", currency: "EUR" } } },
{ idempotencyKey: "erp-INV-42-attempt-1" },
);
console.log(intent.comparisonCode); // mostre-o junto à operação
const decided = await intents.waitForDecision(intent.intentId, { timeoutMs: 15 * 60_000 });cancelIntent dá um ApiError com code === "conflict" quando o pedido já terminou.
Verificar um webhook
import { verifyWebhook, WebhookVerificationError } from "@authguard/sdk";
const event = verifyWebhook(process.env.AUTHGUARD_WEBHOOK_SECRET!, req.headers, req.body); // corpo em brutoUse o corpo em bruto (por exemplo express.raw) e elimine duplicados pelo cabeçalho webhook-id.
Verificar o recibo
verifyIntentDigest(intent.intentJson, intent.intentDigest) e checkReceipt(intent.receipt, { intentId, intentDigest, state, clientId }).
Códigos de erro deste artigo
Esta página ajudou?
Obrigado. A resposta fica guardada apenas neste browser; não enviamos nada.
Lamentamos. Experimente:
- pesquisar com o texto exato da mensagem ou o código de erro
- consultar o índice de códigos de erro
- falar com o administrador da sua organização