An extension of django rest framework that allows to invite user via email
Project description
Django Rest User Invitation
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
- Install the package from pypi using pip:
pip install drf-simple-invite
- Add
drf_simple_invite
to yourINSTALLED_APPS
(afterrest_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',
]
- This package provides an endpoint, which can be included by including
drf_simple_invite.urls
in yoururls.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 parameterPOST ${API_URL}/{invitation_token}
- set password token by using theinvitation_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 generatedpre_password_creation
- fired just before a password is being setpost_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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d35f29407ac148decc53061b511a97f7aca559a2096e00c273b9ea05d29e65cb |
|
MD5 | 0ac3a21176a908cdc63d0cd7f4459a59 |
|
BLAKE2b-256 | 6351912a1efe69bbdcf27db3102e64f72a0f71d0537c5d565f3b3166725fbda6 |
File details
Details for the file drf_simple_invite-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: drf_simple_invite-0.3.0-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fa352164638df5a44b02acc2cc25ffb1a969d0d099839c679cc1b8afee699d3 |
|
MD5 | 4b48a93817a5e249cee2ac87d5fcb654 |
|
BLAKE2b-256 | 01433b2e1678cc819184f61f61484a2e52004c5c779b253bf90fa2a0cbdcc7c8 |