https://a.storyblok.com/f/270183/37192/88c8a56b98/videoapi_secure-callbacks.png

Video API da Vonage – Anúncio de disponibilidade geral dos callbacks seguros

Publicado em July 19, 2023

Tempo de leitura: 3 minutos

Introdução

A Video API da Vonage tem um novo recurso chamado Callbacks Seguros , que está disponível para o público em geral a partir de hoje. O recurso de callbacks seguros oferece uma maneira de verificar se uma solicitação de callback via webhook está vindo da Vonage e se sua carga útil não foi adulterada durante o trânsito. Isso protege contra callbacks não autorizados e agrega benefícios adicionais de segurança para setores com requisitos específicos de conformidade.

A Video API da Vonage utiliza callbacks para fornecer eventos e atualizações de status ao aplicativo para Monitoramento de Sessão, Arquivamento/Gravação, SIP e Experience Composer. Os callbacks seguros são assinados por um segredo de assinatura que o usuário configura por meio do Portal da Conta de Vídeo, o qual pode ser verificado pelo aplicativo receptor para confirmar que o callback se originou da Vonage.

Ativação de retornos de chamada seguros

Acesse o Painel da Video API e selecione um projeto no qual você gostaria de implementar esse recurso. Role a página para baixo até encontrar Configurações do projeto e o botão deslizante , conforme mostrado abaixo.

Project SettingsProject Settings inside the Video API Dashboard

Pressione a tecla botão e ative a opção Chamada de retorno segura para a posição “ativado” e pressione Salvar.

> Observação: Para o tráfego de entrada restrito, os endereços IP da Vonage devem ser adicionados à lista de endereços IP aprovados do seu firewall.

Agora que o recurso foi ativado, vamos discutir os diversos callbacks da API e o que cada um deles faz antes de ativar um deles.

Callbacks da Video API da Vonage

A Video API da Vonage oferece vários callbacks de API que podem ser protegidos com esse recurso, incluindo:

  1. Monitoramento de sessões - Monitora a atividade da sessão.

  2. Monitoramento de arquivamento - Monitora o status dos arquivos (ou gravações).

  3. Monitoramento de chamadas SIP - Monitora a atividade das chamadas SIP.

  4. Experimente o Composer Monitoring - Monitores Experimente o Composer.

Vamos usar Monitoramento de Sessão para este exemplo, mas o conhecimento adquirido nesta seção se aplica a qualquer um dos outros callbacks mencionados.

Monitoramento de sessões

Os desenvolvedores podem monitorar determinadas atividades dos clientes a partir do servidor de aplicativos. Ao se inscrever para receber callbacks, sua URL de callback receberá solicitações HTTP POST sempre que um cliente se conectar ou publicar algo.

Para ativá-la no seu projeto de Video atual, role a tela para baixo até ver Monitoramento de Sessão e clique em Configurar.

Session MonitoringSession Monitoring inside the Video API Dashboard

Você pode configurar a URL de retorno de chamada e ativar ou desativar a Segredo de Assinatura para ativá-lo. Por padrão, ele fornece uma assinatura gerada aleatoriamente, mas você pode especificar a sua própria. Clique em Enviar para continuar. O sistema informará que os callbacks seguros foram configurados com a URL e o segredo de assinatura.

Validar a solicitação

Existem duas formas principais de validar callbacks seguros:

  1. Verificação da solicitação - As chamadas de retorno seguras incluirão um JWT no cabeçalho de autorização. O segredo usado para assinar a solicitação corresponde ao segredo de assinatura associado às api_key incluído nas reivindicações do JWT. Você pode identificar seu segredo de assinatura no Painel. Recomenda-se que os segredos de assinatura tenham pelo menos 32 bits para garantir sua segurança.

  2. Verificação da carga útil - Após verificar a autenticidade da solicitação, você pode, opcionalmente, verificar se a carga útil da solicitação não foi adulterada, comparando um hash SHA-256 da carga útil com o payload_hash campo encontrado nas reivindicações do JWT. Se eles não corresponderem, a carga útil foi adulterada durante o trânsito. Você só precisa verificar a carga útil se estiver usando HTTP em vez de HTTPS, pois o Transport Layer Security (TLS) impede ataques MITM.

Um exemplo do que o Signed JSON Web Token (JWT) seria:

// header
{
  "alg": "HS256",
  "typ": "JWT",
}
// payload
{
  "iat": 1587494962,
  "jti": "c5ba8f24-1a14-4c10-bfdf-3fbe8ce511b5",
  "iss": "Vonage",
  "payload_hash" : "d6c0e74b5857df20e3b7e51b30c0c2a40ec73a77879b6f074ddc7a2317dd031b",
  "api_key": "a1b2c3d",
  "application_id": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
}

Observe que o payload_hash campo é um hash SHA-256 da carga útil da solicitação. Ele pode ser comparado à carga útil da solicitação para garantir que não tenha sido adulterado durante o trânsito.

A exemplo de código do Node.js pode ser encontrado aqui.

Conclusão

Para recapitular, Callbacks Seguros é um recurso de segurança que garante que cada callback não tenha sido adulterado durante a transmissão. Isso protege contra interceptação e reprodução posterior. Ele verifica se a solicitação se origina da Vonage e garante que os requisitos de conformidade sejam atendidos para diversos setores importantes. Você pode usá-lo hoje mesmo como um recurso disponível para todos, gratuitamente, ativando-o em seu projeto. Acesse esta página para obter uma lista de limitações e considerações, pois as informações são atualizadas com frequência.

Se você tiver dúvidas ou sugestões, junte-se a nós no Slack dos desenvolvedores da Vonage ou envie-nos um tweet no Twitter, e eu entrarei em contato com você. Mais uma vez, obrigado pela leitura, e nos vemos no próximo artigo!

Compartilhar:

https://a.storyblok.com/f/270183/400x400/7cdff37c0e/michael-crump.png
Michael CrumpGerente de Experiências dos Desenvolvedores

Michael Crump trabalha na Vonage, na equipe de Experiências do Desenvolvedor, e é programador, YouTuber e palestrante frequente sobre diversos temas relacionados ao .NET e ao desenvolvimento em nuvem e de comunicações. Ele se dedica a ajudar os desenvolvedores a compreender os benefícios de cada um desses temas de maneira prática e direta.