public override void OnActionExecuting(ActionExecutingContext filterContext) { try { // var request = filterContext.RequestContext.HttpContext.Request; if (String.IsNullOrEmpty(_request["X-Twilio-Signature"])) { filterContext.Result = new HttpUnauthorizedResult(); } else { var validator = new Twilio.TwilioRequestValidator(); if (validator.IsValid(_request.Url.AbsoluteUri, _request.Headers["X-Twilio-Signature"], _request.Form)) { // base.OnActionExecuting(filterContext); } else { filterContext.Result = new HttpUnauthorizedResult(); } } } catch (Exception) { filterContext.Result = new HttpUnauthorizedResult(); } }
public ActionResult Index() { var validator = new Twilio.TwilioRequestValidator(); if (validator.IsValid(Request.Url.AbsoluteUri, Request.Headers["X-Twilio-Signature"], Request.Form)) { return Content( string.Format("<Response><Sms>{0}</Sms></Response>", Request.Params["Body"])); } Response.SuppressFormsAuthenticationRedirect = true; return new HttpStatusCodeResult(HttpStatusCode.Forbidden, "Twilio authentication failed"); }