Skip to content

Commit c8f10d7

Browse files
committed
chore(passport): use h_captcha replace re_captcha
1 parent 123bd1a commit c8f10d7

4 files changed

Lines changed: 19 additions & 20 deletions

File tree

rootfs/api/forms.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,27 +25,27 @@ def confirm_login_allowed(self, user):
2525

2626
class RegistrationForm(UserCreationForm):
2727

28-
recaptcha_token = forms.CharField(
29-
label=_("reCAPTCHA token"),
30-
widget=forms.HiddenInput(attrs={"name": "g-recaptcha-response"}),
28+
h_captcha_token = forms.CharField(
29+
label=_("h-captcha token"),
30+
widget=forms.HiddenInput(attrs={"name": "h-captcha-response"}),
3131
strip=False,
3232
required=False,
3333
help_text=_("Google recaptcha token hidden field"),
3434
)
3535

36-
def clean_recaptcha_token(self):
37-
recaptcha_token = self.data.get("g-recaptcha-response")
38-
if settings.GOOGLE_RE_CAPTCHA_KEY and settings.GOOGLE_RE_CAPTCHA_SECRET:
39-
success = requests.post('https://www.recaptcha.net/recaptcha/api/siteverify', data={
40-
'secret': settings.GOOGLE_RE_CAPTCHA_SECRET,
41-
'response': recaptcha_token,
36+
def clean_h_captcha_token(self):
37+
h_captcha_token = self.data.get("h-captcha-response")
38+
if settings.H_CAPTCHA_KEY and settings.H_CAPTCHA_SECRET:
39+
success = requests.post('https://hcaptcha.com/siteverify', data={
40+
'secret': settings.H_CAPTCHA_SECRET,
41+
'response': h_captcha_token,
4242
}).json()["success"]
4343
if not success:
4444
raise ValidationError(
45-
_('Error verifying reCAPTCHA, please try again.'),
45+
_('Error verifying HCAPTCHA, please try again.'),
4646
code="captcha_invalid",
4747
)
48-
return recaptcha_token
48+
return h_captcha_token
4949

5050
class Meta(UserCreationForm.Meta):
5151
model = User

rootfs/api/settings/production.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,5 +389,5 @@
389389
EMAIL_USE_TLS = bool(strtobool(os.environ.get('EMAIL_USE_TLS', 'false')))
390390
EMAIL_USE_SSL = bool(strtobool(os.environ.get('EMAIL_USE_SSL', 'false')))
391391

392-
GOOGLE_RE_CAPTCHA_KEY = os.environ.get("GOOGLE_RE_CAPTCHA_KEY")
393-
GOOGLE_RE_CAPTCHA_SECRET = os.environ.get("GOOGLE_RE_CAPTCHA_SECRET")
392+
H_CAPTCHA_KEY = os.environ.get("H_CAPTCHA_KEY")
393+
H_CAPTCHA_SECRET = os.environ.get("H_CAPTCHA_SECRET")

rootfs/api/templates/user/registration.html

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,16 @@ <h2 class="h3">Registration</h2>
4444
:placeholder="Email" type="email" required>
4545
<div class="error">{{ form.email.errors }}</div>
4646
</div>
47-
{% if google_re_captcha_key %}
47+
{% if h_captcha_key %}
4848
<style>
49-
.g-recaptcha iframe {
49+
.h-captcha iframe {
5050
transform: scaleX(1.22);
51-
transform-origin: 0 0;
5251
}
5352
</style>
5453
<div class="form-group">
55-
<script src="https://www.recaptcha.net/recaptcha/api.js" async defer></script>
56-
<div class="g-recaptcha" data-sitekey="6LfNBv8eAAAAAHCmD0cXDDB_a3vjxxVx_iNK3iyp"></div>
57-
<div class="error">{{ form.recaptcha_token.errors }}</div>
54+
<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
55+
<div class="h-captcha" data-sitekey="{{ h_captcha_key }}"></div>
56+
<div class="error">{{ form.h_captcha_token.errors }}</div>
5857
</div>
5958
{% endif %}
6059
<button class="btn btn-primary btn-lg btn-block" id="submit" type="submit">Submit</button>

rootfs/api/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def post(self, request, *args, **kwargs):
9696

9797
def get_context_data(self, **kwargs):
9898
context = super().get_context_data(**kwargs)
99-
context["google_re_captcha_key"] = settings.GOOGLE_RE_CAPTCHA_KEY
99+
context["h_captcha_key"] = settings.H_CAPTCHA_KEY
100100
return context
101101

102102

0 commit comments

Comments
 (0)