首页 > 解决方案 > 如何在 Salesforce Lightning 组件中实现 reCAPTCHA V3?

问题描述

我正在尝试在闪电组件中实现 reCAPTCHA V3。参考https://developers.google.com/recaptcha/docs/v3。我已经完成了此处提到的第 1 步和第 2 步,但我不知道如何实现第 3 步(如何将令牌与请求一起发送到后端,以及如何验证用户对来自应用程序后端的 reCAPTCHA 质询的响应)。

我为前端集成创建了一个 visualforce 页面,在该页面中,我使用我的站点密钥加载了 JavaScript api,并在页面加载时调用了 grecaptcha.execute。然后使用标签在闪电组件中添加visualforce页面。


<script>
  function onload()       
    {        
      grecaptcha.ready(function() {       
       grecaptcha.execute('my_sitekey', {action: 'homepage'}).then(function(token) {            
         //alert(token);
       });
      });  
   }
</script>

<body onLoad = "onload()">
    <form action="?" method="POST">
      <div id="html_element"></div>
        <br/>
        <input type="submit" value="Submit" style="display:none"/>
    </form>
</body>

在此先感谢您的帮助。

标签: javascriptsalesforcevisualforcesalesforce-lightningrecaptcha-v3

解决方案


我认为这无法实施。V3 使用 JS 来捕捉鼠标的移动。因为不可视,iframe的高度应该为0,无法获取鼠标的移动。所以,这是一个无法实现的任务。


推荐阅读