咨询Google Enterprise reCaptcha是否支持图片选择验证挑战功能
结论
你的需求可正常实现,Google reCAPTCHA Enterprise并非仅支持分数决策或复选框类型的验证,完全支持你需要的弹出式图片选择挑战交互模式。
问题原因
你当前部署使用的是reCAPTCHA Enterprise的无交互分数验证模式,该模式会在后台完成风险判定,直接返回验证token,不会触发任何前端交互挑战,因此不会出现图片选择弹窗。
调整步骤
- 后台配置修改
登录Google Cloud的reCAPTCHA Enterprise管理后台,找到当前在用的站点密钥,将验证模式从「无交互分数验证」切换为「带交互挑战的验证」;也可以直接创建新的站点密钥,选择适配图片挑战的类型即可。 - 代码逻辑调整
你当前的代码是适配无交互模式的execute调用逻辑,需要修改为显式渲染挑战组件的逻辑,示例如下:
引入JS的地址保持不变:https://www.google.com/recaptcha/enterprise.js?render=<site_key>
执行逻辑修改为:
public renderEnterpriseCaptcha() { // 页面需要提前准备id为captcha-container的DOM元素承载captcha组件 (window as any).grecaptcha.enterprise.render('captcha-container', { sitekey: environment.captchaSiteKeyEntpr, callback: (token) => { // 验证通过后拿到token,执行后续业务逻辑 this.contactUsFun(token); }, size: 'normal' }); }
配置完成后,用户点击验证复选框时,系统如果判定需要进一步验证,就会自动弹出图片选择挑战,和你之前在V2版本使用的逻辑完全一致。
补充说明
如果不需要所有用户都触发交互,也可以配置为风险判定机制,仅对高风险用户弹出图片挑战,低风险用户直接通过,兼顾验证安全性和用户体验。
内容的提问来源于stack exchange,提问作者Rohit Yadav
相关产品推荐
相关产品推荐

