Skip to main content

An extension of django rest framework that allows to invite user via email

Project description

Django Rest User Invitation

Build Status

The primary aim of this python package is to provides a simple user invitation strategy for django rest framework, where users can be invited using invitation tokens (by sending email to the provided e-mail address).

This package provides a REST endpoint that verifies an token and set the password for that particular user.

Quick Start

  1. Install the package from pypi using pip:
pip install drf-simple-invite
  1. Add drf_simple_invite to your INSTALLED_APPS (after rest_framework) within your Django settings file:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # Third party apps
    'rest_framework',  # utilities for rest apis
    'rest_framework.authtoken',  # token

    # Simple Invite
    'drf_simple_invite',

    # Custom User Model
    'users',
]
  1. This package provides an endpoint, which can be included by including drf_simple_invite.urls in your urls.py as follows:
from django.urls import re_path as url, include

urlpatterns = [
    url(r'api/v1/invite/', include('drf_simple_invite.urls', namespace='drf_simple_invite')),
]    

Note: You can adapt the api-url to your needs.

Endpoints

The following endpoints are provided:

  • POST ${API_URL}/ - invite the user by sending the email as parameter
  • POST ${API_URL}/{invitation_token} - set password token by using the invitation_token parameter

where ${API_URL}/ is the url specified in your urls.py (e.g., api/v1/invite/) and {invitation_token} is base64.urlsafe encoded uuid token. Since it is unsafe to use plain uuid, always make sure that the {invitation_token} is base64.urlsafe encoded

Signals

  • invitation_token_created - Fired when a reset password token is generated
  • pre_password_creation - fired just before a password is being set
  • post_password_creation - fired after a password has been set

TODO: Configuration / Settings / Management Command

The following settings can be set in Django settings.py file:

  • DJANGO_REST_INVITATION_TOKEN_EXPIRY_TIME - time in hours about how long the token is active (Default: 24)

Please note: expired tokens are automatically cleared based on this setting in every call of post method on this endpoint.

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_simple_invite-0.3.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

drf_simple_invite-0.3.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file drf_simple_invite-0.3.0.tar.gz.

File metadata

  • Download URL: drf_simple_invite-0.3.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for drf_simple_invite-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d35f29407ac148decc53061b511a97f7aca559a2096e00c273b9ea05d29e65cb
MD5 0ac3a21176a908cdc63d0cd7f4459a59
BLAKE2b-256 6351912a1efe69bbdcf27db3102e64f72a0f71d0537c5d565f3b3166725fbda6

See more details on using hashes here.

File details

Details for the file drf_simple_invite-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for drf_simple_invite-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fa352164638df5a44b02acc2cc25ffb1a969d0d099839c679cc1b8afee699d3
MD5 4b48a93817a5e249cee2ac87d5fcb654
BLAKE2b-256 01433b2e1678cc819184f61f61484a2e52004c5c779b253bf90fa2a0cbdcc7c8

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