This tutorial will guide you through integrating JWT (JSON Web Tokens) authentication with Django REST Framework. JWT is a compact, URL-safe means of representing claims to be transferred between two parties.
Prerequisites
- Django project set up
- Django REST Framework installed
- Basic understanding of Django and Django REST Framework
Step 1: Install Django REST Framework JWT
First, you need to install the djangorestframework-jwt
package.
pip install djangorestframework-jwt
Step 2: Add the Package to Your Django Settings
Add 'rest_framework_jwt'
to the INSTALLED_APPS
in your settings.py
file.
INSTALLED_APPS = [
# ...
'rest_framework_jwt',
# ...
]
Step 3: Add JWT Authentication Class
In your settings.py
, add the following to configure JWT authentication:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
),
# ...
}
Step 4: Create a JWT Token
To create a JWT token, you need to use the ObtainJWTToken
view.
curl -X POST -d "username=<username>&password=<password>" http://<your-django-project>/api-token-auth/
This will return a JWT token that you can use to authenticate your requests.
Step 5: Use JWT Token in Your Requests
Include the JWT token in the Authorization
header of your requests.
curl -H "Authorization: JWT <your-token>" http://<your-django-project>/api/endpoint/
Next Steps
For more detailed information and advanced configurations, check out the Django REST Framework JWT documentation.
If you're looking to dive deeper into Django REST Framework, don't miss our comprehensive Django REST Framework Tutorial.