public bool CaptchaValidate()
    {
        string ResponseByGoogle = Request["g-recaptcha-response"];

        string CaptchaSecretKey = "6LfnN4AUAAAAAJm-GDYwST1UBuMSJKLAypBRqLB5";


        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://www.google.com/recaptcha/api/siteverify?secret=" + CaptchaSecretKey + "&response=" + ResponseByGoogle);

        try
        {
            using (WebResponse wResponse = req.GetResponse())
            {
                using (StreamReader readStream = new
                                                 StreamReader(wResponse.GetResponseStream()))
                {
                    string jsonResponse = readStream.ReadToEnd();

                    JavaScriptSerializer js   = new JavaScriptSerializer();
                    CaptchaValidate      data = js.Deserialize <CaptchaValidate>(jsonResponse);

                    Valid = Convert.ToBoolean(data.success);
                }
            }

            return(Valid);
        }
        catch (WebException ex)
        {
            throw ex;
        }
    }
        public async Task <IActionResult> Register([FromBody] Login login)
        {
            string error        = "error";
            string captchaError = "captcha";

            string passwordRegex = @"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,20}$";
            var    reg           = new Regex(passwordRegex);
            var    pass          = reg.IsMatch(login.Password);

            if (pass && IsMailValid(login.Email))
            {
                var captcha = new CaptchaValidate().CaptchaVerify(login.captchaToken);

                if (!captcha)
                {
                    return(Json(captchaError));
                }

                var user = await _userRepository.RegisterAsync(login.Email, login.Password);

                return(Json(user));
            }
            return(Json(error));
        }