Programadores · SDKs
SDK Go
O SDK Go está na pasta sdks/go do repositório (pacote authguard) e usa go-oidc/v3 com go-jose/v4. Ainda não está publicado: aponte o seu go.mod para a cópia local com uma diretiva replace.
Instalar
go mod edit -require=<módulo do sdks/go>@v0.1.0 -replace=<módulo do sdks/go>=../authguard/sdks/goO nome exato do módulo está no go.mod da pasta sdks/go.
Criar um pedido e esperar
intents, err := authguard.NewIntentsClient(authguard.IntentsConfig{
BaseURL: "https://identity.example.com",
ClientID: os.Getenv("AUTHGUARD_CLIENT_ID"),
ClientSecret: os.Getenv("AUTHGUARD_CLIENT_SECRET"),
})
if err != nil {
return err
}
result, err := intents.CreateIntent(ctx, authguard.CreateIntentRequest{
OperationType: "invoice.pay",
SubjectEmail: "ana@example.com",
ExternalReference: "INV-42",
ExpiresInSeconds: 900,
Fields: map[string]any{
"amount": authguard.MoneyValue{Amount: "1250.00", Currency: "EUR"},
},
}, "erp-INV-42-attempt-1")
if err != nil {
return err
}
fmt.Println(result.Intent.ComparisonCode) // mostre-o junto à operação
decided, err := intents.WaitForDecision(ctx, result.Intent.IntentID,
&authguard.WaitOptions{Timeout: 15 * time.Minute})Webhooks, recibos e OIDC
O pacote tem funções para verificar webhooks Standard Webhooks, o resumo do pedido e o recibo, e o fluxo OIDC com PKCE. Use sempre os bytes em bruto do corpo e elimine duplicados pelo webhook-id.
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