drf-temptoken
DRF temporary authentication token
Installation
pip install drf-temptoken
Usage
Include drf_temptoken in INSTALLED_APPS
INSTALLED_APPS = [
...,
'drf_temptoken'
]
Add drf_temptoken.auth.TempTokenAuthentication into your authentication classes
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'drf_temptoken.auth.TempTokenAuthentication',
)
}
Create token for user
from django.contrib.auth import get_user_model
from drf_temptoken.utils import create_token, get_user_tokens
User = get_user_model()
user = User.objects.first()
token = create_token(user)
# Sets token's expiration date to current
token = token.expire()
key = token.key # Used in authentication process
tokens = get_user_tokens(user) # Returns a queryset of TempTokens belonging to the user
Default settings (can be overriden in Django's settings)
TMP_TOKEN_HEADER_PREFIX = 'TMP'
TMP_TOKEN_AUTH_HEADER = 'Authorization'
# Set any value in order to get the token from query
TMP_TOKEN_QUERY_PARAM = None
# Python's timedelta kwargs passed in order to set token's expiration date
TMP_TOKEN_TIME_DELTA_KWARGS = {
'days': 7 # Token will be expired in 7 days by default
}
Auth backend will check for HTTP_AUTHORIZATION: TMP {token} by default
Assuming your token (token.key) is equal to "123", your request should look like this:
import requests
headers = {
'Authorization': 'TMP 123'
}
response = requests.get(url, headers=headers)
Or like this if you set query param to _api_key:
import requests
url = 'https://example.com?_api_key=123'
response = requests.get(url)
Metadata
Release files for drf-temptoken 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| drf-temptoken-0.1.2.tar.gz | 6.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| drf_temptoken-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.4 kB
Release files / drf-temptoken-0.1.2.tar.gz
| Download URL | drf-temptoken-0.1.2.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5caccd465583b8ba19b708c6263585aea18119dbb31b86e4501b7c75feb631f7
|
|
BLAKE2b-256 checksum How to use checksums |
b852cabb4e56d8bfe1e64296d50ce0b71db25b355e6fa6b3e24d897bf5cfa83b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|
Release files / drf_temptoken-0.1.2-py3-none-any.whl
| Download URL | drf_temptoken-0.1.2-py3-none-any.whl |
|---|---|
| Size | 8.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
51a8f8a5d32723125308ddf1713b206eb8f12827efb93f57b6dff0662608c709
|
|
BLAKE2b-256 checksum How to use checksums |
2177d177cd36971480c9c300a50190d41b35fb9dc9ae3ccc0e64209174efd4b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|