A melhor autenticação da Twilio com chaves de API
Tempo de leitura: 5 minutos
A Twilio gera um Identificador de string (SID) da conta e um token de autentificação quando você cria uma conta da Twilio. Com essas credenciais, você pode executar todas as funções disponíveis na API da Twilio.
Sempre que você entregar o SID da conta e o token de autenticação a um dispositivo ou colega, você aumentará o risco de essas credenciais serem comprometidas. Felizmente, a Twilio fornece recursos que minimizam esse risco. Este artigo aborda:
- Tokens de autenticação
- Subcontas
- Chaves de API
Tokens de autenticação
Quando você cria uma nova conta ou subconta, a Twilio gera um SID de conta e um token de autenticação para essa conta. Você pode encontrar essas credenciais na página do dashboard da sua conta:
Essas credenciais são frequentemente usadas para se comunicar com a Twilio por meio da CLI, dos SDKs ou usando diretamente a API. Há apenas um Token de autenticação por padrão; portanto, você deve evitar compartilhar esse token de autenticação para minimizar o risco de ele ficar comprometido. Se o token de autenticação for comprometido por algum motivo, gire-o criando um token de autenticação secundário para que o token vazado se torne inútil.
Siga as etapas abaixo para criar um token de autenticação secundário:
- Clique no link da conta na barra de navegação do canto superior direito
- No submenu, clique em Chaves e tokens de API
- Role até a parte inferior da página e clique em Solicitar um token secundário
Depois de ter um token secundário, você pode promover esse token a token primário. Isso removerá o antigo token primário e o tornará inútil, como visto abaixo.
Infelizmente, você só pode girar esses tokens usando o console da Twilio. Não é possível girar tokens de credenciais de API usando a API. No entanto, você pode girar as chaves de API que serão abordadas posteriormente neste artigo.
Subcontas
As Subcontas são exatamente como as contas, mas são de propriedade e podem ser gerenciadas pela conta pai. Em vez de usar os tokens de autenticação da conta pai, você pode usar os tokens de autenticação da subconta. Se o token de autenticação estiver comprometido, o token não poderá ser usado para acessar recursos da conta pai ou outras subcontas.
Você pode criar uma subconta usando o console da Twilio seguindo estas etapas:
- Clique no link da conta na barra de navegação do canto superior direito
- No submenu, clique em Subcontas
- Clique no ícone de mais (+) se você já tiver outras subcontas, caso contrário, clique no botão Criar nova subconta
- Insira um nome amigável para a subconta
- Clique no botão Criar
Você também pode criar subcontas usando a CLI, o SDK e a API da Twilio, conforme documentado na documentação da Twilio.
Chaves de API
As chaves de API são a forma preferida de autenticar os serviços da Twilio. Há dois tipos de Chaves de API: Chaves de API Padrão e Principal.
As Chaves de API padrão dão acesso a todas as funcionalidades da API da Twilio, exceto o gerenciamento de chaves de API, configuração de conta e subcontas.
As Chaves de API principais têm o mesmo acesso que as chaves padrão, mas também podem gerenciar chaves de API, configuração de conta e subcontas. As chaves de API principais fornecem o mesmo nível de acesso que se você estivesse usando tokens de autenticação.
Você pode criar chaves de API usando o console da Twilio seguindo estas etapas:
- Clique no link da conta na barra de navegação do canto superior direito
- No submenu, clique em Chaves e tokens de API
- Clique no botão Criar chave de API
- Insira um nome amigável para sua chave de API
- Selecione a região mais próxima de você
- Selecione se o tipo de chave deve ser padrão ou principal
Você também pode criar chaves de API padrão usando a CLI, o SDK e a API, conforme consta na documentação da Twilio. Você precisa fazer a autenticação com um token de autenticação ou uma chave de API principal para gerenciar chaves de API.
Gire as chaves de API
Uma das vantagens de usar chaves de API em vez de credenciais de API é que você pode usar a API para criar e excluir chaves de API. Dessa forma, você pode girar programaticamente chaves de API como uma medida preventiva.
Veja como você iria girar as chaves de API usando a CLI da Twilio e o PowerShell:
Observação: Certifique-se de ter a CLI da Twilio instalada antes de executar este código.
AVISO: Certifique-se de desenvolver e testar seu aplicativo para garantir que a rotação de chave de API seja realizada tranquilamente.
Você pode criar quantas chaves de API precisar, em contrapartida às credenciais de API, onde você só pode ter dois tokens (primário e secundário) por conta. Então, em vez de passar credenciais de API para seus colegas de equipe e aplicativos, você deveria dar chaves de API a eles. Dessa forma, você pode revogar as chaves de API com segurança quando elas não forem mais ser usadas.
Mude de Tokens de autenticação para Chaves de API
Se você já estiver usando os tokens de autenticação em seu código, poderá passar a usar chaves de API com apenas algumas linhas de alterações. Observe que é interessante que você obtenha alguns dos seus tokens de autenticação do console da Twilio e salve-os localmente em variáveis de ambiente para que o código seja executado. Para obter mais informações sobre como fazer isso, siga as instruções sobre como armazenar credenciais da Twilio com segurança.
Veja como você autenticaria e enviaria um SMS com as credenciais de API usando C#:
Primeiro, passe o SID da sua conta como o parâmetro username
, e o token de autenticação como o parâmetro password
para TwilioClient.Init
. Em seguida, envie uma mensagem de texto usando MessageResource.Create
.
Atualize os parâmetros passados para TwilioClient.Init
para fazer a autenticação com sua chave de API em vez da credencial de API:
Primeiro, passe o SID da chave de API para o parâmetro username
em vez do SID da conta. Em seguida, passe o segredo da chave de API para o parâmetro password
em vez do token de autenticação. Por fim, passe o SID da conta para o parâmetro accountSid
.
Resumo
Você pode autenticar com a API da Twilio usando o ID da conta como o nome de usuário e o token de autenticação primário ou secundário. Se o token primário estiver comprometido, você poderá promover o token secundário a token primário, o que tornará o antigo token primário inutilizável.
Você pode proteger suas credenciais segmentando sua conta com subcontas. Se um token de autenticação ou chave de API para uma subconta for comprometido, o token só poderá ser usado para acessar recursos na subconta.
As chaves de API agora são a forma preferida de autenticar com a API da Twilio. Você pode criar quantas chaves de API forem necessárias e removê-las se elas estiverem comprometidas ou não forem mais ser usadas.
Niels Swimberghe é uma desenvolvedora de infraestrutura de TI completa e criadora de conteúdo técnico belga que trabalha nos EUA. Entre em contato com a Niels no Twitter @RealSwimburger e siga o seu blog pessoal sobre .NET, Azure e desenvolvimento da web em swimburger.net.
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.