public async Task can_verify_a_captcha() { SetupResponse(true); var response = await captcha.Verify2Async("aaaaa", "bbbb", "cccc"); response.Should().BeTrue(); server.ShouldHaveCalled(Constants.VerifyUrl) .WithRequestBody("response=aaaaa&remoteip=bbbb&secret=cccc"); }
public Task <bool> ValidateToken(string recaptchaToken, IPAddress clientIp) { //this can be null i.e. under proxy or from localhost. //TODO IISIntegration, etc var secret = recaptchaOptions.Value.PrivateKey; return(reCaptchaService.Verify2Async(recaptchaToken, clientIp?.ToString(), secret)); }
private async Task <bool> Verify(string captchaResponse, IPAddress clientIp) { if (string.IsNullOrEmpty(captchaResponse) || clientIp is null) { return(false); } var captchaApi = new ReCaptchaService(); return(await captchaApi.Verify2Async(captchaResponse, clientIp.ToString(), _recaptchaSettings.Value.SecretKey)); }
public async Task can_verify_failed_response() { var responseJson = ResponseJson(false); var mockHttp = new MockHttpMessageHandler(); mockHttp.Expect(HttpMethod.Post, Constants.VerifyUrl) .Respond("application/json", responseJson) .WithExactFormData("response=aaaaa&remoteip=bbbb&secret=cccc"); var captcha = new ReCaptchaService(client: mockHttp.ToHttpClient()); var response = await captcha.Verify2Async("aaaaa", "bbbb", "cccc"); response.Should().BeFalse(); mockHttp.VerifyNoOutstandingExpectation(); }