コード例 #1
0
        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();
            }
        }
コード例 #2
0
ファイル: SmsController.cs プロジェクト: shturner20/EContact
        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");
        }