public FacebookMessengerController(IFacebookRepository repository,
                                    IMessageConverter <FacebookMessage> converter,
                                    IFacebookMessengerVerifier verifier,
                                    IConfiguration configuration)
 {
     _facebookRepository = repository;
     _messageConverter   = converter;
     _verifier           = verifier;
     _configuration      = configuration;
 }
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            string facebookId = context.ActionArguments["facebookId"] as string;
            IFacebookMessengerVerifier verifier = context.HttpContext.RequestServices.GetService <IFacebookMessengerVerifier>();

            if (facebookId == null || !verifier.VerifyFacebookId(facebookId))
            {
                context.Result = new BadRequestResult();
                throw new SecurityException("Facebook verification error message");
            }
        }