javascript - reCAPTCHA V3:空闲后如何处理过期令牌?
问题描述
对于 Google reCAPTCHA V2,当令牌因空闲而过期时该怎么做是很清楚的:客户需要再次单击 reCaptcha 复选框。对于 Google reCAPTCHA V3,情况有所不同,因为不清楚令牌何时因空闲而过期。
对于 reCAPTCHA V3,Google 建议:
https://developers.google.com/recaptcha/docs/v3
使用您的站点密钥加载 JavaScript api
在操作或页面加载时调用 grecaptcha.execute // 我们选择页面加载的时间,好吗?
- 将令牌发送到您的后端,并请求验证// 单击按钮
好的。如果在页面加载后几分钟点击按钮,我们发送到后端的 V3 令牌已经过期。在这种情况下处理的正确方法是什么?我们是否应该通过每分钟向 Google 发送调用来静默自动更新令牌?这种情况下最好的方法是什么?我没有找到来自 Google 的任何建议。
解决方案
令牌必须在页面加载之后生成。它应该在我们将其发送到后端之前生成。换句话说,我们点击按钮(来自我的示例),然后获取生成的令牌,然后将令牌发送到后端。
这个解决方案很有意义并解决了我的问题。
推荐阅读
- reactjs - 与打字稿反应:onmouseup 和 onmousedown 无法识别左键单击
- javascript - 在 JavaScript 中将地图转换为二维数组
- .htaccess - 阻止 htaccess 文件中的完整 IP 范围
- javascript - 自定义 Google 表单 HTML 上传文件按钮
- perl - Perl 打印匹配和来自 file1 的匹配字符串与 file2 匹配的无匹配字符串与百万条记录匹配
- node.js - 使用来自 Docker 的 env 变量的 React 连接被拒绝错误
- mysql - 为列的不同值附加其他记录的值
- django - 将 Django 模型数据保存到派生类的数据库中
- python-3.x - Pandas 应用函数 - args 它是如何传递的
- bash - 如果第一个第二和第三个字段相同,我如何使用排序或其他 bash cmd 从所有行中获取 1 行