Skip to content

An extra layer of authentication for Web APIs made with Django REST Framework

License

Notifications You must be signed in to change notification settings

manosim/django-rest-framework-api-key

Repository files navigation

django-rest-framework-api-key travis codecov pypi

Authenticate Web APIs made with Django REST Framework

Supports

  • Python (2.7, 3.3, 3.4, 3.5)
  • Django (1.8, 1.9, 1.10)
  • Django Rest Framework (3+)

Installation

Install using pip:

pip install drfapikey

Add 'rest_framework_api_key' to your INSTALLED_APPS setting:

INSTALLED_APPS = (
    ...
    'rest_framework_api_key',
)

Finally set the django-rest-framework permissions under your django settings:

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework_api_key.permissions.HasAPIAccess',
    )
}

Example Request

response = requests.get(
    url="http://0.0.0.0:8000/api/login",
    headers={
        "Api-Key": "fd8b4a98c8f53035aeab410258430e2d86079c93",
    },
)

Tests

pyvenv env
source env/bin/activate
pip install -r requirements/requirements-testing.txt
python runtests.py

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request
  6. Make sure tests are passing

About

An extra layer of authentication for Web APIs made with Django REST Framework

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages