Drop-in API endpoints for handling authentication securely in Django Rest Framework. Works especially well with SPAs (e.g React, Vue, Angular), and Mobile applications.
- Django 2, 3 or 4 (See Unit Test Coverage in CI)
- Python 3
pip install dj-rest-auth
dj_rest_auth app to INSTALLED_APPS in your django settings.py:
INSTALLED_APPS = ( ..., 'rest_framework', 'rest_framework.authtoken', ..., 'dj_rest_auth' )
Add URL patterns
urlpatterns = [ path('dj-rest-auth/', include('dj_rest_auth.urls')), ]
(Optional) Use Http-Only cookies
REST_USE_JWT = True JWT_AUTH_COOKIE = 'jwt-auth'
Install required modules with
pip install -r dj_rest_auth/tests/requirements.pip
To run the tests within a virtualenv, run
python runtests.py from the repository directory.
The easiest way to run test coverage is with
which runs the tests against all supported Django installs. To run the test coverage
within a virtualenv, run
coverage run ./runtests.py from the repository directory then run
Testing may also be done using
will run the tests against all supported combinations of python and django.
Install tox, either globally or within a virtualenv, and then simply run
from the repository directory. As there are many combinations, you may run them
tox.ini includes an environment for testing code
and you can run it and view this report with
tox -e coverage.
Linting may also be performed via
tox -e flake8.
View the full documentation here: https://dj-rest-auth.readthedocs.io/en/latest/index.html
This project began as a fork of
django-rest-auth. Big thanks to everyone who contributed to that repo!