A Django REST framework authentication class for the ZGW API authentication pattern.
Project description
1 Welcome to zgw-auth-backend’s documentation!
- Version:
1.0.3
- Source:
- Keywords:
zgw, vng, apis, drf
- PythonVersion:
3.8
A Django REST framework authentication class for the ZGW API authentication pattern.
The ZGW Auth JWT includes claims for user_id and user_representation. This information can be used in your API to authenticate the actual end-user, even when using gateway APIs.
2 Features
Authenticates the end-user based on the user_id JWT claim
Follows the auth spec for “API’s voor zaakgericht werken”
3 Installation
3.1 Requirements
Python 3.7 or higher
setuptools 30.3.0 or above
Django 2.2 or newer
3.2 Install
pip install zgw-auth-backend
Add it to your installed apps:
INSTALLED_APPS += ["zgw_auth_backend"]
Migrate:
python manage.py migrate
Optionally, you can add it to DRFs default backends:
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": [
...,
"zgw_auth_backend.authentication.ZGWAuthentication",
...,
],
}
4 Usage
Specify the authentication class on your view(s):
from rest_framework import views
from zgw_auth_backend.authentication import ZGWAuthentication
class MyView(APIView):
authentication_classes = (ZGWAuthentication,)
Add the client credentials in the admin (client ID + secret)
Generate a ZGW auth JWT with the user_id claim, using the credentials from step 1
Make an API call to the endpoint, including the Authorization: Bearer <jwt> header
Verify that the user with user_id username is created if it didn’t exist yet, or if it did, that request.user is now this user.
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 zgw-auth-backend-1.0.3.tar.gz
.
File metadata
- Download URL: zgw-auth-backend-1.0.3.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.9.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b67953936d91e87edde6a0cdbaf1febbd1dfc443576cb2411b29bfa6a9ce47b |
|
MD5 | c1384f321cb720a5d58238478e2fb94f |
|
BLAKE2b-256 | 98c561da71ed2391eed566c2136795664b28d30eca540c8e19f52eab27d9c478 |
File details
Details for the file zgw_auth_backend-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: zgw_auth_backend-1.0.3-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.9.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db0caa57327fb4f85d43b1032977a8b6405ff3ef66b2b1a971d2fd345febcadb |
|
MD5 | 656b80639b125105bb325795fb255eb9 |
|
BLAKE2b-256 | 47ee9899a1b054fa58d1d1058b21de4aef14c935aa8cc6d371189b3099827da9 |