Esempio n. 1
0
        public async Task <bool> UserResponse(HighscoreEntryWithCaptcha he)
        {
            CaptchaData cd = new CaptchaData();

            cd.response = he.UserToken;
            cd.secret   = "6LfDoOMUAAAAAIAZ4rPoMgC1a_6u1DpdR3-NcLuY";
            var content = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair <string, string>("secret", cd.secret),
                new KeyValuePair <string, string>("response", cd.response)
            });

            var responseString = await client.PostAsync("https://www.google.com/recaptcha/api/siteverify", content);

            var responseBody = await responseString.Content.ReadAsStringAsync();

            var resp = JsonSerializer.Deserialize <GoogleAPIResponse>(responseBody);

            return(resp.Success);
        }
Esempio n. 2
0
        public async Task <ActionResult <IEnumerable <HighscoreEntry> > > AddHighscore([FromBody] HighscoreEntryWithCaptcha he)
        {
            if (!await UserResponse(he))
            {
                return(BadRequest());
            }
            HighscoreEntry h = new HighscoreEntry();

            h.Credentials = he.Credentials;
            h.Score       = he.Score;
            return(await dal.AddHighscore(h));
        }