Skip to main content

Django rest framework recaptcha field serializer.

Project description

Django REST reCAPTCHA

Django REST reCAPTCHA v2 and v3 field serializer

Code style: black

Requirements

Tested with:

  • Python: 3.7, 3.8
  • Django: 2.2
  • Django REST framework: 3.10

Installation

  1. Sign up for reCAPTCHA

  2. Install with pip install drf-recaptcha

  3. Add "drf_recaptcha" to your INSTALLED_APPS settings.

  4. 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_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

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

timeforimage.ru

django-recaptcha

reCAPTCHA copyright 2012 Google.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

drf-recaptcha-1.1.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drf_recaptcha-1.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file drf-recaptcha-1.1.0.tar.gz.

File metadata

  • Download URL: drf-recaptcha-1.1.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.8.0

File hashes

Hashes for drf-recaptcha-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7aada168cea90f187c2fa311d7a5c87039d769eb019c871ce084093aa7f9e260
MD5 00958d1fbe7823826ff65c3df9cd2a1c
BLAKE2b-256 15b1b010fcf8bd5584cd5a5d5d29093fc8dae8530b1a2ad5ea886c003a20dcc2

See more details on using hashes here.

File details

Details for the file drf_recaptcha-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: drf_recaptcha-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.8.0

File hashes

Hashes for drf_recaptcha-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec0d91bad4a200d8cf334029ecf017644f85d74f14175f24fff07ff913c995b5
MD5 d5769c7d705215091e5de48bf4247a4d
BLAKE2b-256 86e200f25edaa168be3004c227af62d73c1bcd2f60e23b8d9f56713553dd42b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page