Pular para o conteúdo
Telenova Developers

Segurança e implantação

Pontos identificados na especificação atual. Eles não tornam o uso irrestrito seguro: avalie e aplique mitigações no produto antes de expor o Webphone publicamente.

Iframe sem restrição de origem

Segundo a especificação, qualquer origem pode incorporar /embed. Um site de terceiros pode exibir o Webphone de um usuário se obtiver a URL com o token.

postMessage sem validação do remetente

Atualmente não há validação da origem/janela remetente das mensagens postMessage. Qualquer página que contenha ou seja contida pelo iframe pode enviar mensagens a ele.

API key do tenant na URL

Com RuntimeQueryKey, o token é a API key do tenant e aparece na URL: fica em histórico, logs de servidores e proxies e pode vazar pelo cabeçalho Referer.

Chave sem rotação, revogação ou expiração

TenantApiKey não expira, não tem scopes e não há rotação/revogação automática. Um vazamento dá acesso a configuração e bootstrap até troca manual.

Senha SIP em respostas

GET /webphone/user-info retorna extension_password. Nunca repasse essa resposta inteira ao navegador nem a registre em logs.

Mitigações recomendadas no produto

Recomendações deste portal; não fazem parte da especificação atual.

  • Restringir quem pode incorporar /embed (por exemplo, Content-Security-Policy frame-ancestors com a lista de domínios autorizados do tenant).
  • Validar event.origin e event.source em todo handler de postMessage, e usar targetOrigin explícito (nunca "*") ao enviar.
  • Substituir a API key na URL por um token de curta duração e escopo mínimo, emitido pelo backend por usuário/sessão.
  • Oferecer rotação e revogação da API key do tenant.
  • Manter configuração, administração e bootstrap acessíveis somente a partir de servidores (sem CORS para navegadores).
  • Até lá: usar referrerpolicy="no-referrer", não registrar URLs com token em logs/analytics e limitar a exposição às páginas autenticadas da sua aplicação.

Incorporação por iframe

Este portal não carrega o iframe nem o script reais.

HTML · trecho fictício
<!-- Trecho FICTÍCIO para ilustração. Não use sem as mitigações abaixo. -->
<iframe
  src="https://webphone.telenova.com.br/embed?userid=usuario-123&token=SUA_TENANT_API_KEY"
  allow="microphone"
  referrerpolicy="no-referrer"
  title="Webphone Telenova"
></iframe>

Como este portal trata a Webphone API

  • Nenhuma rota é executada de verdade: o teste real está desabilitado para todas.
  • Respostas de exemplo são sintéticas, com senhas e chaves mascaradas.
  • Os trechos de código usam apenas placeholders e chamadas sensíveis aparecem como código de servidor.