Gerenciando suas chaves de API

Encontre sua chave de API em API e Webhooks no console, mantenha-a só no servidor, use uma aplicação sandbox separada para testes e corrija os erros 401 e 403.

Short answer

API e Webhooks, restrito à aplicação que você tem selecionada. Uma chave por aplicação, e a chave é o ambiente - não existe uma chave de teste separada em uma aplicação de produção. É um segredo de servidor: nunca deve estar em código de frontend ou no pacote de um aplicativo.

Sua chave de API fica em API e Webhooks, na barra lateral do console, restrita à aplicação em que você está trabalhando. Trate-a como uma senha - ela concede acesso total à API em nome dessa aplicação.

#Encontrando sua chave

  1. Faça login no Console de Negócios

    Acesse business.didit.me e faça login.

  2. Selecione sua aplicação

    Escolha a aplicação desejada no menu suspenso no topo do console. Cada aplicação tem sua própria chave.

  3. Abra API e Webhooks

    Sua chave de API está aqui, junto com seus destinos de webhook e os respectivos segredos de assinatura.

A página de API e Webhooks no console da Didit
  1. Create API key emite uma nova chave; as chaves são por aplicação.
  2. O segredo é mostrado aqui uma única vez - copie-o para o seu próprio gerenciador de segredos.
  3. Rotate secret substitui o segredo sem alterar o nome da chave.
  4. Last used é como você distingue uma chave ativa de uma esquecida antes de revogá-la.
Uma chave por aplicação, na mesma página dos seus destinos de webhook.

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

Vale dizer isso claramente, porque confundir os dois produz erros confusos:

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

Enviar o segredo de assinatura como se fosse sua chave de API gera um 401. Verificar um webhook com sua chave de API gera uma incompatibilidade de assinatura. Os dois erros são comuns.

Important

Sua chave de API é um segredo. Nunca a coloque em código de frontend, em um repositório público ou no pacote de um aplicativo móvel - mantenha-a só no servidor. Uma chave dentro do pacote de um app publicado é uma chave que um invasor já tem. Veja autenticação da API.

#Obtendo uma chave para testes

Não teste contra produção. Crie uma aplicação separada em modo sandbox - as sessões de sandbox simulam todas as verificações externas, nunca são cobradas e não tocam em dados reais de usuários. Use a chave dela enquanto você desenvolve, e mantenha uma aplicação de produção separada para as verificações reais.

Não existe uma "chave de teste" em uma aplicação de produção. A chave é o ambiente, então vale a pena nomear suas chaves sem ambiguidade em onde quer que você guarde seus segredos. Veja testando em sandbox.

#Rotacionando sua chave

Se uma chave pode ter sido exposta, regenere-a na mesma página de API e Webhooks. Regenerar invalida a chave antiga imediatamente, então atualize-a antes em todos os lugares onde ela é usada - caso contrário, seu tráfego de produção começa a falhar no momento em que você clica no botão.

Rotacionar em uma programação regular é uma boa prática. Planeje isso como um deploy, não como um clique.

#Corrigindo os erros 401 e 403

ErroCausaCorreção
401A chave está ausente, malformada ou foi regeneradaCopie a chave atual em API e Webhooks para essa aplicação. Verifique se não há espaços em branco ou aspas indevidas, e se você não colou um segredo de assinatura por engano
403A chave é válida, mas essa chamada não é permitidaGeralmente é a aplicação errada, um campo exclusivo de sandbox em uma chave de produção (ou o contrário), uma permissão que falta à sua chave, ou um recurso não habilitado na sua conta

Um 403 em um fluxo de trabalho específico quase sempre significa que a chave pertence a uma aplicação diferente daquela dona desse fluxo de trabalho. Troque de aplicação no console e copie a chave dela. Detalhamento completo: erros da API e o que significam.

#Restringindo o que uma chave pode fazer

Se a sua necessidade é limitar quais categorias de dados uma chave pode acessar - por exemplo, para impedir que um serviço recupere imagens de documentos - isso é uma questão de permissões, não uma configuração da chave, e o que está disponível depende da sua conta. Pergunte ao suporte em vez de presumir que uma chave não tem restrições ou que tem; as duas suposições são arriscadas em direções opostas.

#Quem da sua equipe pode ver as chaves

A visibilidade das chaves segue a função de cada pessoa. A função Desenvolvedor abrange as chaves de API; a função Leitor, não. Se um colega não conseguir encontrar a página, verifique a função dele antes de reportar o problema. Veja como convidar membros da equipe e definir funções.

#Toda chamada é registrada

As solicitações feitas com chave de API aparecem em Registros de Auditoria atribuídas à aplicação, não a uma pessoa - e é exatamente por isso que uma chave compartilhada entre vários serviços torna um incidente mais difícil de investigar. Uma chave por consumidor é mais fácil de acompanhar. Veja como usar os registros de auditoria.