This login is basically used to login via OTP using phone_number
as the new field instead of using email
or username
as the login.
We use django-sendsms to the phone and OTP and Verify it.
This way you can use your favorite SMS Service.
You can ask the user for phone_number
using Forms as authentication and login in any web browser. By sending the OTP.
Second, you can use Django Rest Framework
and login like how Whatsapp, Viber and many login works.
pip install django-phone-login
Add the Below urls.py
urlpatterns = [
url(r'^otp/', include('phone_login.urls', namespace='phone_login'),),
]
Make the following changes in the settings.py
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',
)
}
AUTH_USER_MODEL = 'phone_login.CustomUser'
AUTHENTICATION_BACKENDS = [
'phone_login.backends.phone_backend.PhoneBackend',
'django.contrib.auth.backends.ModelBackend'
]
Coming Up...
PHONE_LOGIN_MINUTES = 10
PHONE_LOGIN_OTP_LENGTH = 6
PHONE_LOGIN_OTP_HASH_ALGORITHM = 'sha256'