diff --git a/lib/ex_twilio_webhook/plug.ex b/lib/ex_twilio_webhook/plug.ex index 38f5595..7b4c5fb 100644 --- a/lib/ex_twilio_webhook/plug.ex +++ b/lib/ex_twilio_webhook/plug.ex @@ -89,7 +89,7 @@ defmodule ExTwilioWebhook.Plug do url = normalize_request_url(settings.public_host, conn) # extract signature and raw body from the conn, and validate the signature - with [signature] <- get_req_header(conn, "x-twilio-signature"), + with [signature] <- get_provider_req_header(conn), %{raw_body: payload} <- conn.private, true <- HashHelpers.validate_request_with_body(secret, signature, url, payload) do @@ -100,6 +100,10 @@ defmodule ExTwilioWebhook.Plug do end end + defp get_provider_req_header(conn) do + get_req_header(conn, "x-twilio-signature") || get_req_header(conn, "x-signalwire-signature") + end + def validate_webhook(conn, _settings), do: deny_access(conn) defp deny_access(conn) do