Skip to main content

A library that provides a simple Access Key & Secret Key authorization for Django REST framework.

Project description

DRF Access Key

A library that provides a simple Access Key & Secret Key authorization for Django REST framework.

Requirements

Install

pip install drf-access-key
✨🍰✨

Or you can use pip install git+https://github.com/ZhaoQi99/drf-access-key.git install latest version.

Quick Start

  1. Add rest_framework_access_key to INSTALLED_APPS setting:
INSTALLED_APPS = [
    ...,
    'rest_framework_access_key',
]
  1. Add AccessKeyAuthentication to DEFAULT_AUTHENTICATION_CLASSES setting located at settings.py from your project:
REST_FRAMEWORK = {
    ...,
    'DEFAULT_AUTHENTICATION_CLASSES': (
        ...,
      	'rest_framework_access_key.authentication.AccessKeyAuthentication',
    ),
}
  1. Custom authentication_classes in Django REST framework APIView:
from rest_framework import generics,permissions
from rest_framework.response import Response

from rest_framework_access_key.authentication import AccessKeyAuthentication

class TestViewSet(generics.GenericAPIView):
    authentication_classes = (AccessKeyAuthentication,)
    permission_classes = (permissions.IsAuthenticated,)

    def get(self, request, *args, **kwargs):
        return Response({"Hello": "World!"})

How to use

Authentication Method Document 🇨🇳

GET /api/v1/user/ HTTP/1.1
Auth-Access-Key: XXXXXXXX
Auth-Nonce: 83a1ca5507564efd891ad8d6e04529ee
Auth-Timestamp: 1677636324
Content-Type: application/json
Auth-Signature: XXXXXXX

Settings

Settings are configurable in settings.py in the scope ACCESS_KEY_SETTINGS. You can override any setting, otherwise the defaults below are used.

ACCESS_KEY_DEFAULTS: Dict[str, Any] = {
    "NONCE_CACHE_PREFIX": "OpenAPI",
    "NONCE_CACHE_TTL": 5,
    "TIMESTAMP_ERROR_RANGE": 10 * 60,
}

License

GNU General Public License v3.0

Author

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

drf-access-key-0.1.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

drf_access_key-0.1.0-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file drf-access-key-0.1.0.tar.gz.

File metadata

  • Download URL: drf-access-key-0.1.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.14 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.13

File hashes

Hashes for drf-access-key-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5408c1b6c17f1cd4fa0f5478767d965e3f4db7e938b6b78f641acd8da8801e87
MD5 a44d2b8f967c7d77334d0b91de5d98e0
BLAKE2b-256 b685493473ecf30b2ad9f084dca702bb404a2cbdb74e004676cb56db391cb783

See more details on using hashes here.

File details

Details for the file drf_access_key-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: drf_access_key-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.14 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.13

File hashes

Hashes for drf_access_key-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 138daac5c6e3902394966ebe8d791cbfd96173b14a1d4e96698579c6f8f992fd
MD5 c67ba3eee3424be991ac6521e99fa3e4
BLAKE2b-256 7caba0e430a533102f0caa3c7a1b2e5715e788836eb8d0807de5d150e3a7063a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page