Reactjs-Google ReCaptcha v3 onVerify方法不会为每次登录单击触发

时间:2019-11-03 14:13:38

标签: reactjs react-google-recaptcha

import React from "react";
import {GoogleReCaptchaProvider, GoogleReCaptcha } from "react-google-recaptcha-v3";

class Login extend React.Component {
   verifyCallback = (response) => {
    // API call to verify the token
   }

    render() {
       return (
          // Here comes a component with email/password and login button
           ....
          <GoogleReCaptchaProvider 
            reCaptchaKey="your-site-key"
            render="explicit">
            <GoogleReCaptcha
                onVerify={this.verifyCallback}
            />
         </GoogleReCaptchaProvider>
       );
   }
}

在这里,第一次加载组件时会触发verifyCallback。

如何为每次单击登录按钮触发verifyCallback?

1 个答案:

答案 0 :(得分:0)

诗人想在这里说的是不同的。

验证令牌是站点令牌。网站令牌发送给Google进行验证。 您需要调用Javascript方法来完成安全性。

  window.grecaptcha.ready(function() {
      window.grecaptcha.execute('site token', {action: action}).then(function(value) {
        token.currentRecaptchaToken = value;
        console.log(token);
      });
    });