Skip to main content

Django Phone Login: Login with OTP

Project description

build-status-image pypi-version

Django Phone Login

Django-phone-login uses django-sendsms to send sms.

Django Phone Login provides phone number login with no additional passwords to remember. It’s a easy way to grow your customer base. Without any hassle.

Installing Django Phone Login

Django Phone Login was built for django.

PyPi, install using PIP:

pip install django-phone-login

If you want to install manually:

git clone git@github.com:wejhink/django-phone-login.git
cd django-phone-login/
pip install -r requirements.txt
python setup.py install

Instructions

INSTALLED_APPS += [
    ...  # Make sure to include the default installed apps here.

    'phone_login',
    'rest_framework',
    'rest_framework.authtoken',
]


REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.TokenAuthentication',
    )
}



AUTHENTICATION_BACKENDS = [
    'phone_login.backends.phone_backend.PhoneBackend',
    'django.contrib.auth.backends.ModelBackend'
]

# Make sure you also have backend Django Templates and APP_DIRS True, if you want to use default OTP Template.
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'APP_DIRS': True,
        ...
    },
]


# Configure the SENDSMS_BACKEND (for django-sendsms integration)

SENDSMS_BACKEND = 'myapp.mysmsbackend.SmsBackend' #(defaults to 'sendsms.backends.console.SmsBackend')
SENDSMS_FROM_NUMBER = "+XXxxxxxxxxxx"
SENDSMS_ACCOUNT_SID = 'ACXXXXXXXXXXXXXX'
SENDSMS_AUTH_TOKEN = 'xxxxxxxx'

Adding to URLs

Add the Below urls.py

urlpatterns = [
    url(r'^phone_login/', include('phone_login.urls', namespace='phone_login'),),
]

Customizable Fields in Settings.

PHONE_LOGIN_ATTEMPTS = 10
PHONE_LOGIN_OTP_LENGTH = 6
PHONE_LOGIN_OTP_HASH_ALGORITHM = 'sha256'

Flow

  1. User enter the phone_number and sends request to generate secret code.

  2. django-phone-login sends a secret_code as SMS to the phone number.

  3. User sends secret_code to the server to verify.

  4. django-phone-login verifies and send token as response using DRF3.

Why use django-phone-login?

  • Phone number login, no password required.

  • Registration through phone number.

  • Mobile based user authentication.

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-login-1.1.3.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

django_phone_login-1.1.3-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file django-phone-login-1.1.3.tar.gz.

File metadata

File hashes

Hashes for django-phone-login-1.1.3.tar.gz
Algorithm Hash digest
SHA256 85a6acc9aec1662e677926e1921e83413a8dd1784824754168ccd5b62bf86a10
MD5 698d99fa443389d9415ec3f8c1968da4
BLAKE2b-256 b9dbc11a93096b3bf60ca9a8154e94eeac8033aa917288a0aac9df221f07743f

See more details on using hashes here.

File details

Details for the file django_phone_login-1.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for django_phone_login-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9ae1078aa65f46c98fc25627eb5636fdbf2317b47e0674aa073f9517d1a00c54
MD5 e9f2075530dca88f2950bf9f7c1f7b49
BLAKE2b-256 bb10474d62c9098dabea824b23381bd6698b546cffa230bfd5fcd16a5e7547c0

See more details on using hashes here.

Supported by

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