using Api.Services.Contracts.Models; namespace Api.Services.Contracts { /// /// Verifies a reCAPTCHA token against the Google verification API. /// public interface ICaptchaVerifier { /// /// Sends the token to the Google reCAPTCHA verification endpoint and /// returns a verdict indicating success, score, and any failure reason. /// /// The reCAPTCHA token provided by the client. /// Optional remote IP address passed to Google for additional risk analysis. /// Optional action name to validate against the token's embedded action (v3 only). /// Cancellation token. /// A with the verification outcome. Task VerifyAsync(string token, string? userIp, string? expectedAction, CancellationToken ct); } }