
Compartilhar:
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.
Video API da Vonage – Anúncio de disponibilidade geral dos callbacks seguros
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 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:
Monitoramento de sessões - Monitora a atividade da sessão.
Monitoramento de arquivamento - Monitora o status dos arquivos (ou gravações).
Monitoramento de chamadas SIP - Monitora a atividade das chamadas SIP.
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 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:
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_keyincluí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.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_hashcampo 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:
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.