自托管 Gitlab 无效的 reCaptcha 密钥类型
Self-Hosted Gitlab Invalid reCaptcha key type
我自己托管 Gitlab,并向 login/register 添加了强制 reCaptcha。
我不小心输入了 v3 密钥而不是 v2 密钥,现在我无法登录,因为它显示:
ERROR for site owner: Invalid key type.
知道如何在文件中手动更改它吗?
我是 运行 Ubuntu Desktop 18.04.4
如果您可以连接到 GItLab 服务器,您可以,如 gitlab-org/gitlab-foss
issue 46548
中所述
disable reCAPTCHA in the admin settings (admin/application_settings/reporting
)
禁用后,您至少可以登录,并且re-enable the feature, this time entering a v2 key。
我使用的另一种可能性:
如果您能够通过之前生成(并保存)的 GitLab ReST API
- PERSONAL ACCESS TOKEN
(使用 All Scopes
/ Full Admin
权限创建)获得访问权限,然后您可以使用该令牌通过以下 CLI 命令更新您的 reCAPTCHA
密钥:
user$ curl --request PUT --header \
"PRIVATE-TOKEN: <PersonalAccessToken>" \
"https://gitlab.example.com/api/v4/application/settings?recaptcha_private_key=<SecretKey>&recaptcha_site_key=<SiteKey>"
我希望这对其他人有帮助。
我也犯了同样的错误,把ReCaptcha v2 和v3 搞错了。我完全被锁在门外,没有个人访问令牌。
这个解决方案也适用于我。但是,我不建议这样做,如果您不熟悉 Postgres 甚至 GitLab 的配置,一旦您在管理面板中更新配置,您将不知道其他审计操作是否正在拦截,并且您可能会破坏其他东西。
此解决方案只是通过 gitlabhq_production
数据库更新 GitLab 的应用程序设置。以下步骤适用于我使用 Omnibus 包安装方法的情况。如果您可以直接访问数据库,我认为应该没有太大区别。
gitlab-psql -d gitlabhq_production
# 登录到 GitLab 的数据库
UPDATE application_settings SET login_recaptcha_protection_enabled = 'f';
# 禁用 recaptcha 登录
gitlab-ctl reconfigure
# 重新配置 Gitlab 实例或重启你的 Gitlab 实例。
我自己托管 Gitlab,并向 login/register 添加了强制 reCaptcha。
我不小心输入了 v3 密钥而不是 v2 密钥,现在我无法登录,因为它显示:
ERROR for site owner: Invalid key type.
知道如何在文件中手动更改它吗?
我是 运行 Ubuntu Desktop 18.04.4
如果您可以连接到 GItLab 服务器,您可以,如 gitlab-org/gitlab-foss
issue 46548
disable reCAPTCHA in the admin settings (
admin/application_settings/reporting
)
禁用后,您至少可以登录,并且re-enable the feature, this time entering a v2 key。
我使用的另一种可能性:
如果您能够通过之前生成(并保存)的 GitLab ReST API
- PERSONAL ACCESS TOKEN
(使用 All Scopes
/ Full Admin
权限创建)获得访问权限,然后您可以使用该令牌通过以下 CLI 命令更新您的 reCAPTCHA
密钥:
user$ curl --request PUT --header \
"PRIVATE-TOKEN: <PersonalAccessToken>" \
"https://gitlab.example.com/api/v4/application/settings?recaptcha_private_key=<SecretKey>&recaptcha_site_key=<SiteKey>"
我希望这对其他人有帮助。
我也犯了同样的错误,把ReCaptcha v2 和v3 搞错了。我完全被锁在门外,没有个人访问令牌。
这个解决方案也适用于我。但是,我不建议这样做,如果您不熟悉 Postgres 甚至 GitLab 的配置,一旦您在管理面板中更新配置,您将不知道其他审计操作是否正在拦截,并且您可能会破坏其他东西。
此解决方案只是通过 gitlabhq_production
数据库更新 GitLab 的应用程序设置。以下步骤适用于我使用 Omnibus 包安装方法的情况。如果您可以直接访问数据库,我认为应该没有太大区别。
gitlab-psql -d gitlabhq_production
# 登录到 GitLab 的数据库UPDATE application_settings SET login_recaptcha_protection_enabled = 'f';
# 禁用 recaptcha 登录gitlab-ctl reconfigure
# 重新配置 Gitlab 实例或重启你的 Gitlab 实例。