Compartilhar via


Solucionar problemas de validações de assinatura da Grade de Eventos do Azure

Durante a criação da assinatura do evento, se você estiver vendo uma mensagem de erro como The attempt to validate the provided endpoint https://your-endpoint-here failed. For more details, visit https://aka.ms/esvalidation, isso indica que há uma falha na validação do handshake. Para resolver esse erro, verifique os seguintes aspectos:

  • Faça um HTTP POST para a URL do webhook com um corpo de solicitação SubscriptionValidationEvent de exemplo usando o Postman, o Curl ou ferramenta similar.
  • Se o webhook estiver implementando o mecanismo de handshake de validação síncrona, verifique se o ValidationCode é retornado como parte da resposta.
  • Se seu webhook estiver implementando o mecanismo de handshake de validação assíncrona, verifique se o HTTP POST está retornando 200 OK.
  • Se seu webhook estiver retornando 403 (Forbidden) na resposta, verifique se o webhook está atrás de um Gateway de Aplicativo Azure AD ou de um firewall do aplicativo Web. Caso esteja, desabilite essas regras de firewall e execute um HTTP POST novamente:
    • 920300 (Falta cabeçalho de aceitação da solicitação)
    • 942430 (Detecção de anomalias de caractere do SQL restrito (args): número de caracteres especiais excedido (12))
    • 920230 (Várias codificações de URL detectadas)
    • 942130 (Ataque de injeção de SQL: tautologia do SQL detectada.)
    • 931130 (Possível ataque de remoção de arquivo (RFI) = link/referência fora do domínio)

Importante

Para informações detalhadas sobre a validação de ponto de extremidade para webhooks, confira Entrega de eventos de webhook.

As seções a seguir mostram como validar uma assinatura de evento usando o Postman e o Curl.

Validar a assinatura de evento da Grade de Eventos com o Postman

Confira um exemplo de como usar o Postman para validar uma assinatura de webhook de um evento da Grade de Eventos:

Validação de assinatura de evento da Grade de Eventos com o Postman

Confira aqui o exemplo JSON SubscriptionValidationEvent:

[
  {
    "id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66",
    "topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "subject": "",
    "data": {
      "validationCode": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6",
    },
    "eventType": "Microsoft.EventGrid.SubscriptionValidationEvent",
    "eventTime": "2018-01-25T22:12:19.4556811Z",
    "metadataVersion": "1",
    "dataVersion": "1"
  }
]

Este é um exemplo de resposta bem-sucedida:

{
  "validationResponse": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6"
}

Para saber mais sobre a validação de evento da Grade de Eventos para webhooks, confira Validação de ponto de extremidade com eventos da Grade de Eventos.

Validar a assinatura de evento da Grade de Eventos com Curl

Aqui está um exemplo do comando Curl para validar uma assinatura de webhook em um evento da Grade de Eventos:

curl -X POST -d '[{"id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66","topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","subject": "","data": {"validationCode": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6"},"eventType": "Microsoft.EventGrid.SubscriptionValidationEvent","eventTime": "2018-01-25T22:12:19.4556811Z", "metadataVersion": "1","dataVersion": "1"}]' -H 'Content-Type: application/json' https://{your-webhook-url.com}

Validar a assinatura de evento em nuvem com o Postman

Confira um exemplo de como usar o Postman para validar uma assinatura de webhook de um evento em nuvem:

Validação de assinatura de evento em nuvem com o Postman

Use o método HTTP OPTIONS para a validação com eventos em nuvem. Para saber mais sobre a validação de eventos em nuvem para webhooks, confira Validação de ponto de extremidade com eventos em nuvem.

Solucionar problemas de validação de assinatura de evento

Próximas etapas

Se precisar de mais ajuda, poste seu problema no fórum do Stack Overflow ou abra um tíquete de suporte.