About¶
django-trench provides a set of REST API endpoints to supplement django-rest-framework with multi-factor authentication (MFA, 2FA). It supports both standard built-in authentication methods, as well as JWT (JSON Web Token). django-trench follows the url pattern developed in djoser library and may act as its supplement.
We deliver a couple of sample secondary authentication methods including sending OTP based code by email, SMS/text as well as through 3rd party mobile apps. Developers can easily add own auth backend supporting any communication channel.
Features¶
- Easily plugable and compatible with django-rest-framework and djoser
- Allows user to pick an additional authentication method from range of backends defined by a developer. Read more: Authentication backends
- Comes out of a box with email, SMS add mobile apps support
Requirements¶
Supported versions¶
- Python 3.4, 3.5, 3.6, 3.7
- Django 1.11, 2.0, 2.1
- Django REST Framework 3.8
If you implement
djoser
for authentication:- djoser 1.15.0
If you are going to use JWT authentication:
- django-rest-framework-jwt 1.11.0
Quick Start¶
- Install the package using pip:
pip install django-trench
or add it to your requirements file.
- Add
django-trench
library to INSTALLED_APPS in your app settings file:
INSTALLED_APPS = (
...,
'rest_framework',
'rest_framework.authtoken', # In case of implementing Token Based Authentication
...,
'django-trench',
)
- Run migrations
Read further in: Installation