简体   繁体   中英

Recaptcha V3 error incorrect-captcha-sol randomly

I'm getting incorrect-captcha-sol error code sometime while using Google reCAPTCHA server side verification api.

I have integrated google recaptcha validation to some of my apis.

To do so, I pass recaptcha token on these api requests from client side and then verify it on server side by following server side validation of recaptcha.

I am getting recaptcha token by executing below code and pass this token to my api request header:

const getRecaptchaToken = () => {
  return new Promise((resolve, reject) => {
    try {
      if (window.grecaptcha && typeof window.grecaptcha.execute === "function") {
        grecaptchaExecute(window.grecaptcha.execute);
      } else {
        window.grecaptcha.ready(async () => {
          grecaptchaExecute(window.grecaptcha.execute);
        });
      }

      // grecaptcha execute action
      async function grecaptchaExecute(ExecuteAction) {
        const captchaToken = await ExecuteAction(
          xxxxxx, // my recaptcha site key
          {
            action: "submit",
          }
        );
        return resolve(captchaToken);
      }
    } catch (error) {
      return reject(error);
    }
  });
};

Then, on server side I call:

`https://www.google.com/recaptcha/api/siteverify?secret=${secret_key}&response=${captchaToken}`;

Most of time it is working fine, but some of calls randomly fail and return incorrect-captcha-sol error code.

Since it's happening randomly, I don't have a good idea when it is occurring and why. Also, I can't find the any details about this error code in the recaptcha documentations.

Any Ideas?

I have found other forums talking about how it can occur if you validate a token twice. But I haven't been able to test that or confirm that.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM