Skip to main content

A Django app to support phone number verification using OTP sent via SMS.

Project description

A Django app to support phone number verification using security code / One-Time-Password (OTP) sent via SMS.

Salient Features

  • Let’s you verify phone numbers via SMS.

  • Extensibility to provide different length of tokens.

  • Comes with Twilio already integrated.

  • Set expiration time on tokens.

  • Provides interface for writing custom SMS sending backend for easy extensibility.

  • Does not mess-up with existing AUTH_USER_MODEL at all.

  • Can be used for a number of potential cases, and not just auth.

  • Provides ready endpoints for sending SMS and verification.

Installation

pip install django-phone-verify

Usage

  • Add app to INSTALLED_APPS

    # In settings.py:
    
    # Add app to `INSTALLED_APPS`
    INSTALLED_APPS = [
        ...
        'phone_verify',
    ]
  • Add settings for Phone Verify as you desire:

    # Add settings for phone_verify to work
    PHONE_VERIFICATION = {
        'BACKEND': 'phone_verify.backends.twilio.TwilioBackend',
        'TWILIO_SANDBOX_TOKEN':'123456',
        'OPTIONS': {
            'SID': 'fake',
            'SECRET': 'fake',
            'FROM': '+14755292729'
        },
        'TOKEN_LENGTH': 6,
        'MESSAGE': 'Welcome to {app}! Please use security code {otp} to proceed.',
        'APP_NAME': 'Phone Verify',
        'OTP_EXPIRATION_TIME': 3600  # In seconds only
    }

Compatibility

  • Django 2.1+

  • Django REST Framework 3.9+

Licence

GPLv3

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

django-phone-verify-0.1.1.tar.gz (20.6 kB view details)

Uploaded Source

File details

Details for the file django-phone-verify-0.1.1.tar.gz.

File metadata

  • Download URL: django-phone-verify-0.1.1.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for django-phone-verify-0.1.1.tar.gz
Algorithm Hash digest
SHA256 61d5bffebc724d9fc5dccc04853ff6ae0cb749dbc54f2c1c5eb80577306fa5fd
MD5 927d78cfc81b45dd5ff5dbea313a3352
BLAKE2b-256 011f8468d93949688ad9b7331c67bae47cdae0bf44e1c9dcffaa2733cd167b6c

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