Google Recaptcha V3 - PullRequest
       6

Google Recaptcha V3

0 голосов
/ 06 февраля 2019

Я просто хотел бы проверить, есть ли у кого-нибудь работающий пример повторной настройки Googles с использованием V3 с ASP.NET?

Я получил его для локальной работы, но похоже, что ответ, который я получаю, невключить оценку за recaptcha?

{
  "success": true,
  "challenge_ts": "2019-02-06T13:24:29Z",
  "hostname": "testkey.google.com"
}

Это результат, который я получаю, я хотел бы внедрить V3, где я могу получить оценку за результат.Все примеры приведены на PHP.

Мой код:

<div>
    @using (Html.BeginForm("FormSubmit", "Home", FormMethod.Post))
    {
        <div class="g-recaptcha" data-sitekey="6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI"></div>
        <input type="submit" value="Submit" />
    }
</div>
<script src='https://www.google.com/recaptcha/api.js' type="text/javascript"></script>

Мой контроллер для получения ответа:

[HttpPost]
public ActionResult FormSubmit()
{
    var response = Request["g-recaptcha-response"];
    string secretKey = "MY_Secret_Key";

    HttpClientHandler handler = new HttpClientHandler()
    {
        Proxy = WebProxy.GetDefaultProxy(),
        UseProxy = true
    };

    using (var client = new System.Net.Http.HttpClient(handler))
    {
        try
        {
            client.BaseAddress = new Uri("https://www.google.com/recaptcha/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

            var result = client.GetStringAsync(string.Format("api/siteverify?secret={0}&response={1}", secretKey, response)).Result;

            var jsonReturned = JsonConvert.DeserializeObject(result);

        }
        catch (Exception exc)
        {
            throw exc;
        }
    }
}

Любая помощь будет принята с благодарностью.

...