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.conf.urls import 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

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.

Signals

  • invitation_token_created(sender, instance, invitation_token) - Fired when a reset password token is generated
  • pre_password_creation(user) - fired just before a password is being set
  • post_password_creation(user) - fired after a password has been set

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for drf-simple-invite, version 0.1.14
Filename, size File type Python version Upload date Hashes
Filename, size drf_simple_invite-0.1.14-py3-none-any.whl (8.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size drf_simple_invite-0.1.14.tar.gz (5.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page