我已经阅读了许多与将谷歌验证码与离子混合应用程序集成相关的帖子,我没有找到任何解决方案。我有以下关于在离子应用程序中使用 g-recaptcha 的问题:
- 我可以将谷歌验证码与离子应用程序一起使用吗?
- 如果我使用了recaptcha,那么我在"https://www.google.com/recaptcha/admin"中的域名是什么?
我尝试使用域名"localhost"进行尝试,它可以在浏览器中工作,但在移动设备上不起作用。移动设备中的错误是"网站所有者错误:网站密钥的域无效"。
然后我尝试为 cordova/ionic 应用程序注册一个新的 reCAPTCHA,并在其中添加了我的应用程序包名称。然后我选择了"reCAPTCHA Android"并在cordova/ion中使用了新的公钥(站点密钥(,但它在手机测试时也给出了相同的错误。有什么解决办法吗?
将近 5 年后,但这是随身携带的解决方案。警告:您可能会破坏一些期望主机名在Android/iOS上为本地主机的API。
问题:运行时的移动应用程序主机名是"localhost"。使用 ionic 时,每个平台的主机名可能不同。
解决方案:
使用科尔多瓦:(idk 你为什么要在 2023 年使用科尔多瓦..( 检查 这个答案 来自@FrédéricCamblor
带电容器:
- 转到 https://www.google.com/recaptcha/admin 并在站点允许的域下注册自定义域。 初始化
- 项目中的电容器(使用 CLI(,如果尚未 初始化(。
- 将以下配置添加到 capactor.config.json
"server": { "hostname": "yourapp.example.local", "allowNavigation":["https://www.google.com/recaptcha/", "http://yourapp.example.local/*"] }
您可以检查完整的电容器配置方案
- 作为额外的步骤,我添加了
@awesome-cordova-plugins/ionic-webview wrapper
尽管idk如果需要,这就是我使其工作的方式。