reCaptcha v3与JSP集成

时间:2019-04-12 10:48:09

标签: javascript java jsp recaptcha recaptcha-v3

我需要将recaptcha v3与我的jsp站点集成在一起。这只是一个登录页面,单击“登录”按钮后,该页面会将数据发送到另一个端点。对于PoC,我能够在页面上添加Recaptcha并在页面加载时获取令牌。然后,我能够对其进行验证。

我现在想在用户单击“登录”按钮时获取令牌并对其进行验证。因此,我在按钮上添加了onclick事件并在其中分配我的功能:

function verifyCaptcha() {
        grecaptcha.ready(function() {
            grecaptcha.execute('sitekey', {action: 'submit'}).then(function (token) {
                checkCaptcha(token);
            });
        });
    }

但是,单击“登录”后,它不会进入grecaptcha.ready函数。 我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

每次页面重新加载时,您都会从google获得一个新令牌。您只能使用该令牌一次。不知何故,如果您多次使用该令牌来获取google Api的响应,则会收到该错误。

诀窍是,您应该通过ajax请求(页面加载)将令牌发送到服务器,并将令牌保存在服务器变量中。然后,在提交表单时,使用该令牌来验证reCapcha。