Programadores · SDKs
SDK Python
O pacote authguard-sdk (importado como authguard) usa PyJWT para os JWT.
Instalar
Ainda não está no PyPI. A partir do repositório:
pip install ./sdks/pythonCriar um pedido e esperar
import os
from authguard import IntentsClient, WaitTimeoutError
client = IntentsClient(
base_url="https://identity.example.com",
client_id="1c9a2b3d-4e5f-4a6b-9c7d-8e9f0a1b2c3d",
client_secret=os.environ["AUTHGUARD_CLIENT_SECRET"],
)
result = client.create_intent(
{"operationType": "invoice.pay", "subjectEmail": "ana@example.com",
"externalReference": "INV-42",
"fields": {"amount": {"amount": "1250.00", "currency": "EUR"}}},
idempotency_key="erp-INV-42-attempt-1",
)
print(result.intent["comparisonCode"]) # mostre-o junto à operação
try:
decided = client.wait_for_decision(result.intent["intentId"], timeout=900)
except WaitTimeoutError:
client.cancel_intent(result.intent["intentId"])
raiseresult.replayed é True quando a chave já tinha sido usada com o mesmo corpo.
Verificar um webhook (Flask)
from authguard import verify_webhook, WebhookVerificationError
event = verify_webhook(WEBHOOK_SECRET, request.headers, request.get_data())Uma falha lança WebhookVerificationError; responda 400. Elimine duplicados pelo webhook-id.
Verificar o recibo
verify_intent_digest(intent["intentJson"], intent["intentDigest"]) e check_receipt(intent["receipt"], intent_id=…, intent_digest=…, state=…).
OpenID Connect
OidcClient faz a descoberta, o URL com PKCE, a troca do código e a validação do ID token.
Erros
As falhas da API levantam ApiError com o estado HTTP e o code estável; wait_for_decision levanta WaitTimeoutError quando a espera termina, e cancel_intent levanta um ApiError 409 quando o pedido já foi decidido. Decida pelo código, não pelo texto da mensagem; veja Erros e limites.
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