Getting started¶
Available endpoints¶
/users/
/users/me/
/users/confirm/
/users/change_username/
/password/
/password/reset/
/password/reset/confirm/
/token/login/
(Token Based Authentication)/token/logout/
(Token Based Authentication)/jwt/create/
(JSON Web Token Authentication)/jwt/refresh/
(JSON Web Token Authentication)/jwt/verify/
(JSON Web Token Authentication)
Supported authentication backends¶
- Token based authentication from DRF
- JSON Web Token authentication from django-rest-framework-simplejwt
Supported Python versions¶
- Python 2.7
- Python 3.4
- Python 3.5
- Python 3.6
Supported Django versions¶
- Django 1.11
- Django 2.0
Supported Django Rest Framework versions¶
- Django Rest Framework 3.7
Installation¶
$ pip install -U djoser
If you are going to use JWT authentication, you will also need to install djangorestframework_simplejwt with:
$ pip install -U djangorestframework_simplejwt
Finally if you are going to use third party based authentication e.g. facebook, you will need to install social-auth-app-django with:
$ pip install -U social-auth-app-django
Configuration¶
Configure INSTALLED_APPS
:
INSTALLED_APPS = (
'django.contrib.auth',
(...),
'rest_framework',
'djoser',
(...),
)
Configure urls.py
:
urlpatterns = [
(...),
url(r'^auth/', include('djoser.urls')),
]
HTTP Basic Auth strategy is assumed by default as Django Rest Framework does it. We strongly discourage and do not provide any explicit support for basic auth. You should customize your authentication backend as described in Authentication Backends.
In case of third party based authentication PSA backend docs will be a great reference to configure given provider.