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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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