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 em sua URL de webhook com um corpo da solicitação de exemplo SubscriptionValidationEvent usando curl ou ferramenta semelhante.
  • 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.

Aqui está um exemplo SubscriptionValidationEvent JSON que você pode enviar usando uma ferramenta como CURL:

[
  {
    "id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66",
    "topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "subject": "",
    "data": {
      "validationCode": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    },
    "eventType": "Microsoft.EventGrid.SubscriptionValidationEvent",
    "eventTime": "2018-01-25T22:12:19.4556811Z",
    "metadataVersion": "1",
    "dataVersion": "1"
  }
]

Este é um exemplo de resposta bem-sucedida:

{
  "validationResponse": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
}

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": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"},"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}

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 assinatura de evento na nuvem

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.