Django rest framework recaptcha field serializer.
Project description
Django REST reCAPTCHA
Django REST reCAPTCHA v2 and v3 field serializer
Requirements
Tested with:
- Python: 3.7, 3.8
- Django: 2.2
- Django REST framework: 3.10
Installation
-
Install with
pip install drf-recaptcha
-
Add
"drf_recaptcha"
to yourINSTALLED_APPS
settings. -
Set in settings
DRF_RECAPTCHA_SECRET_KEY
INSTALLED_APPS = [
...,
"drf_recaptcha",
...,
]
...
DRF_RECAPTCHA_SECRET_KEY = "YOUR SECRET KEY"
Usage
from rest_framework.serializers import Serializer
from drf_recaptcha.fields import ReCaptchaV2Field, ReCaptchaV3Field
class V2Serializer(Serializer):
recaptcha = ReCaptchaV2Field()
...
class V3Serializer(Serializer):
recaptcha = ReCaptchaV3Field(action="example")
...
class V3WithScoreSerializer(Serializer):
recaptcha = ReCaptchaV3Field(
action="example",
required_score=0.6,
)
...
Settings
DRF_RECAPTCHA_SECRET_KEY
- must be set.
DRF_RECAPTCHA_DEFAULT_V3_SCORE
- by default: 0.5
DRF_RECAPTCHA_ACTION_V3_SCORES
- by default: {}
, you can define specific score for each action e.g. {"login": 0.6, "feedback": 0.3"}
DRF_RECAPTCHA_DOMAIN
- by default: www.google.com
DRF_RECAPTCHA_PROXY
- by default: {}
e.g. {'http': 'http://127.0.0.1:8000', 'https': 'https://127.0.0.1:8000'}
DRF_RECAPTCHA_VERIFY_REQUEST_TIMEOUT
- by default: 10
Priority of score value
- Value in argument
required_score
of field, if not defined then - Value for action in settings
DRF_RECAPTCHA_ACTION_V3_SCORES
, if not defined then - Default value in settings
DRF_RECAPTCHA_DEFAULT_V3_SCORE
, if not defined then - Default value 0.5
Testing
Set DRF_RECAPTCHA_TESTING=True
in settings, no request to Google, no warnings, DRF_RECAPTCHA_SECRET_KEY
is not required, set returning verification result in setting below.
DRF_RECAPTCHA_TESTING_PASS=True|False
- all responses are pass, default True
.
Use from django.test import override_settings
Credits
reCAPTCHA copyright 2012 Google.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for drf_recaptcha-1.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8549aaaa8f2724494a8e8e696fddb69383d4d4a593e6f70fd092823244ffae23 |
|
MD5 | 7f0b1ba8a071eafd36d960098f99763b |
|
BLAKE2b-256 | c8172bc47ef4592434cc904c5f5281949b677f14e0e8348d33bf2b155c70b3a5 |