Autenticação

🧾 Crie uma Assinatura para o seu ID de Conta

Gere uma assinatura codificada em Base64 para o seu ID de conta usando sua chave privada explicada no Gerenciamento de Api:

Para Linux, Git Bash ou WSL:

ACCOUNT_ID="YOUR_ACCOUNT_ID"
TIMESTAMP=$(date +%s)
PAYLOAD="${ACCOUNT_ID}:${TIMESTAMP}"
SIGNATURE=$(echo -n "$PAYLOAD" | openssl dgst -sha256 -sign private_key.pem | base64 -w 0)

echo "timestamp: $TIMESTAMP"
echo "authorization: $SIGNATURE"

Para MacOS (se -w 0 não for suportado):

ACCOUNT_ID="YOUR_ACCOUNT_ID"
TIMESTAMP=$(date +%s)
PAYLOAD="${ACCOUNT_ID}:${TIMESTAMP}"
SIGNATURE=$(echo -n "$PAYLOAD" | openssl dgst -sha256 -sign private_key.pem | base64 tr -d)

echo "timestamp: $TIMESTAMP"
echo "authorization: $SIGNATURE"

Substitua ACCOUNT_ID pelo seu ID de conta real e gere um timestamp baseado em segundos TIMESTAMP. Isso gera uma string codificada em Base64 usada como assinatura, que expira programaticamente após cada requisição.

Obs: no ambiente de homologação o tempo de expiração é diário, mas na rota de produção sua duração é baseada em segundos.


📨 Passo 2 — Inclua a Assinatura na Requisição HTTP

Adicione os seguintes cabeçalhos às suas requisições HTTP para validação:

  • authorization: Sua assinatura codificada em Base64 gerada no Passo 3.
  • accountid: Seu ID de conta real (o mesmo usado para gerar a assinatura).
  • timestamp: O timestamp gerado no momento da criação da hash de autenticação, deve ser dinamica e gerado a cada requisição.

Os cabeçalhos seguem padrão de protocolo HTTP/2 que especifica que todos os nomes de cabeçalhos HTTP devem ser enviados em letras minúsculas


🚀 Processo de Validação

A função valida cada requisição verificando se a assinatura fornecida no cabeçalho authorization corresponde ao seu accountid, utilizando sua chave pública carregada na plataforma e timestamp para ter uma expiração.