示例#1
0
 /// <summary>Snippet for CreateAssessment</summary>
 public void CreateAssessmentResourceNames()
 {
     // Snippet: CreateAssessment(ProjectName, Assessment, CallSettings)
     // Create client
     RecaptchaEnterpriseServiceClient recaptchaEnterpriseServiceClient = RecaptchaEnterpriseServiceClient.Create();
     // Initialize request argument(s)
     ProjectName parent     = ProjectName.FromProject("[PROJECT]");
     Assessment  assessment = new Assessment();
     // Make the request
     Assessment response = recaptchaEnterpriseServiceClient.CreateAssessment(parent, assessment);
     // End snippet
 }
示例#2
0
 /// <summary>Snippet for CreateAssessment</summary>
 public void CreateAssessment()
 {
     // Snippet: CreateAssessment(string, Assessment, CallSettings)
     // Create client
     RecaptchaEnterpriseServiceClient recaptchaEnterpriseServiceClient = RecaptchaEnterpriseServiceClient.Create();
     // Initialize request argument(s)
     string     parent     = "projects/[PROJECT]";
     Assessment assessment = new Assessment();
     // Make the request
     Assessment response = recaptchaEnterpriseServiceClient.CreateAssessment(parent, assessment);
     // End snippet
 }
示例#3
0
 /// <summary>Snippet for CreateAssessment</summary>
 public void CreateAssessmentRequestObject()
 {
     // Snippet: CreateAssessment(CreateAssessmentRequest, CallSettings)
     // Create client
     RecaptchaEnterpriseServiceClient recaptchaEnterpriseServiceClient = RecaptchaEnterpriseServiceClient.Create();
     // Initialize request argument(s)
     CreateAssessmentRequest request = new CreateAssessmentRequest
     {
         ParentAsProjectName = ProjectName.FromProject("[PROJECT]"),
         Assessment          = new Assessment(),
     };
     // Make the request
     Assessment response = recaptchaEnterpriseServiceClient.CreateAssessment(request);
     // End snippet
 }
示例#4
0
        public bool ReCaptchaPassed(string gRecaptchaResponse)
        {
            string SiteKey         = "6LegSIoaAAAAADG_Bsv_EZPPFeBhOEmXTJg5Qx9u";
            string Token           = gRecaptchaResponse;
            string AssessmentName  = "RegistrationAssessment";
            string ParentProject   = "projects/tranquil-bison-277423";
            string RecaptchaAction = "REGISTER";

            RecaptchaEnterpriseServiceClientBuilder CredentialBuilder = new RecaptchaEnterpriseServiceClientBuilder();

            CredentialBuilder.JsonCredentials = Environment.GetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS_JSON_VERSION");
            RecaptchaEnterpriseServiceClient client = CredentialBuilder.Build();

            CreateAssessmentRequest createAssessmentRequest = new CreateAssessmentRequest()
            {
                Assessment = new Assessment()
                {
                    Event = new Event()
                    {
                        SiteKey        = SiteKey,
                        Token          = Token,
                        ExpectedAction = RecaptchaAction
                    },
                    Name = AssessmentName,
                },
                Parent = ParentProject
            };

            Assessment response = client.CreateAssessment(createAssessmentRequest);

            if (response.TokenProperties.Valid == false)
            {
                System.Console.WriteLine("The CreateAssessment() call failed " +
                                         "because the token was invalid for the following reason: " +
                                         response.TokenProperties.InvalidReason.ToString());

                _telemetry.TrackEvent("ReCaptchaCompleted", new Dictionary <string, string> {
                    { "RiskAnalysis", "-1" }
                });

                return(false);
            }
            else
            {
                if (response.Event.ExpectedAction == RecaptchaAction)
                {
                    System.Console.WriteLine("The reCAPTCHA score for this token is: " +
                                             response.RiskAnalysis.Score.ToString());

                    _telemetry.TrackEvent("ReCaptchaCompleted", new Dictionary <string, string> {
                        { "RiskAnalysis", response.RiskAnalysis.Score.ToString() }
                    });
                    if (response.RiskAnalysis.Score > .4)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    System.Console.WriteLine("The action attribute in your reCAPTCHA " +
                                             "tag does not match the action you are expecting to score");

                    _telemetry.TrackEvent("ReCaptchaCompleted", new Dictionary <string, string> {
                        { "RiskAnalysis", "-1" }
                    });

                    return(false);
                }
            }
        }