Listas de endereços IP permitidos
A autenticação comprova que o autor da chamada conhece o seu segredo. Uma lista de IPs permitidos restringe as origens possíveis da chamada; portanto, um token vazado, por si só, não é suficiente. Defina-a para cada webhook, em Configurações avançadas -> Lista de IPs permitidos.
Essa regra se aplica independentemente do método de autenticação utilizado pelo webhook, inclusive no caso de “None”. Uma solicitação proveniente de qualquer outro endereço é rejeitada com o código de erro 403 e o motivo ip_not_allowed, antes mesmo de o token ou a assinatura serem analisados.
Preenchimento da lista
Uma entrada por linha, até 50:
- um único endereço IPv4 ou IPv6, como
203.0.113.10ou2001:db8::1 - um intervalo CIDR, como
203.0.113.0/24ou2001:db8::/32
A maioria dos remetentes que merecem ser incluídos na lista de permissões publica seus intervalos de endereços de origem - o Stripe, o GitHub, o Shopify e o Square, por exemplo, fazem isso. Copie esses intervalos e verifique-os novamente quando o remetente anunciar uma alteração: uma lista de permissões que nunca é atualizada acaba rejeitando tráfego legítimo.
Quais solicitações ele verifica
| Solicitação | A lista de permissões se aplica |
|---|---|
| Uma chamada à URL do webhook | Sim |
| Uma chamada à URL do proxy do aplicativo | Não - esses e-mails chegam até nós a partir dos servidores do site Shopify, e não do seu remetente |
| Uma corrida programada | Não - nós mesmos fazemos a solicitação |
| A ação do Shopify Flow que chama este webhook | Não |
| Enviar testes e repetições do Histórico | Não |
É por isso que uma lista de permissões não substitui a autenticação: várias formas legítimas de acesso ao webhook não passam por ela.
O endereço que comparamos
Comparamos com o endereço de onde a solicitação realmente chega. Se houver algum elemento intermediário entre o remetente e nós - um proxy corporativo, um gateway de API, um túnel, uma CDN - , é esse endereço que o(a) senhor(a) deve incluir na lista de endereços permitidos, e não o do servidor de origem.
A maneira mais rápida de encontrá-lo: envie uma solicitação com a lista de permissões vazia, abra a entrada em Histórico e solução de problemas e leia o endereço que registramos.
Quando as coisas dão errado
Uma solicitação rejeitada ainda aparece no Histórico com 403 e ip_not_allowed, para que o senhor possa ver o endereço que foi recusado e adicioná-lo. Nada é descartado sem aviso prévio.
Relacionado
- Autenticação - tokens, Bearer, Basic e parâmetros de consulta.
- Verificação de webhooks assinados - Verificação HMAC para remetentes que assinam.
- Histórico e solução de problemas - todas as solicitações, sejam elas aceitas ou não.

