This is to avoid apps trying and failing at using the registrations API,
which does not let us require a CAPTCHA and cannot be clearly signaled as
unavailable.
end
def registrations
- Setting.registrations_mode != 'none' && !Rails.configuration.x.single_user_mode
+ Setting.registrations_mode != 'none' && !Rails.configuration.x.single_user_mode && !captcha_enabled?
end
def approval_required
def instance_presenter
@instance_presenter ||= InstancePresenter.new
end
+
+ def captcha_enabled?
+ ENV['HCAPTCHA_SECRET_KEY'].present? && ENV['HCAPTCHA_SITE_KEY'].present? && Setting.captcha_enabled
+ end
end
admin:
settings:
captcha_enabled:
- desc_html: Enable hCaptcha integration, requiring new users to solve a challenge when signing up. Note that this disables app-based registration, and requires third-party scripts from hCaptcha to be embedded in the registration pages. This may have security and privacy concerns.
+ desc_html: Enable hCaptcha integration, requiring new users to solve a challenge when signing up. Note that this disables app-based registration, may prevent your instance from being listed as having open registrations, and requires third-party scripts from hCaptcha to be embedded in the registration pages. This may have security and privacy concerns.
title: Require new users to go through a CAPTCHA to sign up
enable_keybase:
desc_html: Allow your users to prove their identity via keybase