Gerir as tuas chaves de API

Encontra a tua chave de API em API e Webhooks na consola, mantém-na no lado do servidor, usa uma aplicação sandbox separada para testes, e resolve os erros 401 e 403.

Short answer

API e Webhooks, limitado à aplicação que tens selecionada. Uma chave por aplicação, e a chave é o ambiente - não existe uma chave de teste separada numa aplicação em produção. É um segredo do lado do servidor: nunca em código de frontend ou num pacote de aplicação.

A tua chave de API está em API e Webhooks na barra lateral da consola, limitada à aplicação em que estás a trabalhar. Trata-a como uma palavra-passe - dá acesso total à API em nome dessa aplicação.

#Encontrar a tua chave

  1. Inicia sessão na Consola de Negócio

    Vai a business.didit.me e inicia sessão.

  2. Seleciona a tua aplicação

    Escolhe a aplicação que queres na lista pendente no topo da consola. Cada aplicação tem a sua própria chave.

  3. Abre API e Webhooks

    A tua chave de API está aqui, ao lado dos teus destinos de webhook e dos respetivos segredos de assinatura.

A página de API e Webhooks na consola Didit
  1. Create API key emite uma chave nova; as chaves são por aplicação.
  2. O segredo é mostrado aqui apenas uma vez - copia-o para o teu próprio cofre de segredos.
  3. Rotate secret substitui o segredo sem alterar o nome da chave.
  4. Last used é como distingues uma chave ativa de uma esquecida antes de a revogares.
Uma chave por aplicação, na mesma página que os teus destinos de webhook.

#A chave de API e o segredo de assinatura são coisas diferentes

Vale a pena dizê-lo claramente, porque confundi-los produz erros confusos:

Para que serveOnde
Chave de APIAutenticar as tuas chamadas à Didit, no cabeçalho x-api-keyPor aplicação
Segredo de assinatura do webhookVerificar que um webhook recebido veio mesmo da DiditPor destino

Enviar o segredo de assinatura como se fosse a tua chave de API produz um 401. Verificar um webhook com a tua chave de API produz uma incompatibilidade de assinatura. Ambos são comuns.

Important

A tua chave de API é um segredo. Nunca a coloques em código de frontend, num repositório público ou num pacote de aplicação móvel - mantém-na apenas no lado do servidor. Uma chave num pacote de aplicação distribuído é uma chave que um atacante já tem. Consulta autenticação de API.

#Obter uma chave para testes

Não testas contra produção. Cria uma aplicação separada em modo sandbox - as sessões sandbox simulam todas as verificações externas, nunca são faturadas e não tocam em dados reais de utilizadores. Usa a sua chave enquanto constróis, e mantém uma aplicação em produção separada para verificações reais.

Não existe uma "chave de teste" numa aplicação em produção. A chave é o ambiente, por isso vale a pena dar às tuas chaves nomes inequívocos onde quer que guardes os teus segredos. Consulta testar em sandbox.

#Rodar a tua chave

Se uma chave pode ter sido exposta, gera-a de novo na mesma página API e Webhooks. Gerar de novo invalida a chave antiga imediatamente, por isso atualiza-a primeiro em todos os sítios onde é usada - caso contrário o teu tráfego em produção começa a falhar no momento em que clicas no botão.

Rodar a chave com regularidade é boa prática. Planeia-o como um deploy, não como um clique.

#Resolver os erros 401 e 403

ErroCausaSolução
401A chave está em falta, mal formada, ou foi gerada de novoCopia a chave atual de API e Webhooks para essa aplicação. Verifica se há espaços em branco ou aspas a mais, e se não colaste um segredo de assinatura por engano
403A chave é válida mas esta chamada não é permitidaNormalmente a aplicação errada, um campo exclusivo de sandbox numa chave de produção (ou o inverso), uma permissão que a tua chave não tem, ou uma funcionalidade não ativada na tua conta

Um 403 num fluxo de trabalho específico quase sempre significa que a chave pertence a uma aplicação diferente daquela a que pertence esse fluxo de trabalho. Muda de aplicação na consola e copia a chave dessa em vez disso. Detalhe completo: erros de API e o que significam.

#Restringir o que uma chave pode fazer

Se o que precisas é limitar a que categorias de dados uma chave consegue aceder - por exemplo, impedir que um serviço obtenha imagens de documentos - isso é uma questão de permissões e não uma definição de chave, e o que está disponível depende da tua conta. Pergunta ao suporte em vez de presumires que uma chave não tem restrições, ou de presumires que as tem; ambas as suposições são arriscadas em direções opostas.

#Quem na tua equipa pode ver chaves

A visibilidade das chaves segue a função de cada pessoa. A função Programador inclui as chaves de API; a Leitor não. Se um colega de equipa não encontrar a página, verifica a sua função antes de reportares o problema. Consulta convidar membros da equipa e definir funções.

#Cada chamada é registada

Os pedidos feitos com chave de API aparecem em Registos de Auditoria atribuídos à aplicação e não a uma pessoa - o que é exatamente a razão pela qual partilhar uma chave entre vários serviços torna um incidente mais difícil de investigar. Uma chave por consumidor é mais fácil de analisar. Consulta usar os registos de auditoria.