Skip to main content

A Django app for passwordless authentication using Kavenegar SMS

Project description

Using auth-passwordless-kavenegar Package

Installation

First, you need to add the following model to your user model:

from django.contrib.auth.models import AbstractUser
from django.db import models

class User(AbstractUser):
    username = None
    password = None
    mobile = models.CharField(
        max_length=13, 
        unique=True,
        db_index=True,
        help_text="Required. 13 characters mobile number",
        error_messages={
            "unique": ("A user with that mobile already exists."),
        },
        verbose_name='mobile'
    )

    USERNAME_FIELD = "mobile"

Then add the following apps to your settings:

INSTALLED_APPS = [
    ...
    'rest_framework',
    'drfpasswordless',
    'rest_framework_simplejwt',
    'auth-passwordless-kavenegar',
    ...
]

Also, add the following configurations to your settings:

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
    'PAGE_SIZE': 10,
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ),
}

And include the following URLs in your main urls.py:

from django.urls import path, include

urlpatterns = [
    ...
    path('', include('auth-passwordless-kavenegar.urls')),
    ...
]

Usage

Endpoints

This package provides the following endpoints for authentication:

  • /auth/login/: For user login request.
  • /auth/verify/: For verifying the code sent to the user.
  • /auth/refresh/: For token refreshing.

Note that if the user does not exist, they will be registered automatically, which can be adjusted from the settings.

Installation

To use this package, first, make sure to add the following information to your Django project settings:

  • KAVENEGAR_API_KEY: API key for Kavenegar SMS service.
  • KAVENEGAR_TEMPLATE: Template ID for the SMS message.

Then, install the package using pip:

pip install auth-passwordless-kavenegar

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

auth-passwordless-kavenegar-0.1.0.tar.gz (3.7 kB view details)

Uploaded Source

File details

Details for the file auth-passwordless-kavenegar-0.1.0.tar.gz.

File metadata

File hashes

Hashes for auth-passwordless-kavenegar-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f1b590ed4b33664cc071c39ecd519cac904bbe63e5acf6d5ecd4e6a4dfc9b188
MD5 f99621f0408bafa7b0b5309b6ef97ba6
BLAKE2b-256 b612f6784eea04c72fc4398e736138b63b45d513c030f161aad76f55e9d2c478

See more details on using hashes here.

Supported by

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