登录
首页 >  Golang >  Go问答

reCAPTCHA Enterprise,变得 invalid_reason:6

来源:stackoverflow

时间:2024-04-19 09:24:34 396浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《reCAPTCHA Enterprise,变得 invalid_reason:6》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

我正在使用 recaptcha enterprise 开发一个 web 应用程序(基于分数,而不是基于清单)。一切都已集成,当我测试它时,我经常收到带有 invalid_reason“6”的 recaptcha 错误。然而,“6”并未在我正在使用的 google cloud api go 库中注册。它超出了库中支持的枚举值(从包 recaptchaenterprise 包中提取):

tokenproperties_invalidreason_name = map[int32]string{
        0: "invalid_reason_unspecified",
        1: "unknown_invalid_reason",
        2: "malformed",
        3: "expired",
        4: "dupe",
        5: "missing",
    }

这来自 v1 包。我猜 v1beta1 包将使用 v1beta1 api。使用这个包,我得到 invalid_reason "7",再次超出支持的枚举值:

    TokenProperties_InvalidReason_name = map[int32]string{
        0: "INVALID_REASON_UNSPECIFIED",
        1: "UNKNOWN_INVALID_REASON",
        2: "MALFORMED",
        3: "EXPIRED",
        4: "DUPE",
        5: "SITE_MISMATCH",
        6: "MISSING",
    }

查看 https://cloud.google.com/recaptcha-enterprise/docs/reference/rest/v1/projects.assessments#invalidreason 上的文档,invalidreason 有 7 个可能的值。该错误可能是 browser_error,我不确定为什么。

但情况并非总是如此。有时可以进行评估并返回分数。这是一个配置为始终返回 0 分数的开发站点密钥。然而很多次我都得到了奇怪的回应。

我看到的一种模式是它在一个网络中成功,而在另一个网络中失败。我尝试在 localhost 中创建一个运行 web 服务和后端服务的设置,并且通过 wifi 连接成功,但通过移动连接则失败。将网站部署到其他地方我也遇到同样的错误。目前我所知道的是这个错误是不稳定的,不确定它是否与网络有关。

我已禁用此密钥的域验证。

编辑:我创建了另一个不是测试密钥的密钥。结果还是一样。我无数次修改域名验证,无数次换域名,结果还是一样。

我观察到的一个模式是 grecaptcha.enterprise.execute 有时会抛出超时错误。这是一个例外,因此脚本将会中断。我不知道它在做什么,但是如果第一次 execute 运行几秒钟,就会生成一个令牌,但在评估过程中会失败。如果第一次快速生成令牌(不到一秒),则它将成功。成功的尝试大多只发生在本地部署中,其中我使用相同的域(我通过将域放在 /etc/hosts 中来使用静态 dns)。

所有文档都没有提及如何解决此问题。看来我们最好还是使用 hcaptcha。


正确答案


我遇到了同样的问题,直到遇到 this answer,它指出我没有在 google console 中注册域名。

我添加了域名,一切正常。

以上就是《reCAPTCHA Enterprise,变得 invalid_reason:6》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>