Skip to main content

Expiring token with expiration time update for Django Rest Framework

Project description

Django Expiring Token adds token expiration on token authentication and extends the expiration time on each authenticated request.

Django Expiring Token provides a very lightweight extension to DRF’s existing token authentication. It implements the following functionalities:

  1. Tokens expire after the set time.

  2. On each authenticated request, the expiration time is updated by the set time.

Quick start

  1. Do NOT add “restframework.authtoken” to you INSTALLED_APPS.

  2. Add “django_expiring_token” to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'django_expiring_token',
    ]
  3. Include the polls URLconf in your project urls.py like this:

    path('custom-url/', include('django_expiring_token.urls')),
  4. Add the expiration time in settings.py:

    EXPIRING_TOKEN_DURATION=timedelta(hours=1)
    # Any timedelta setting can be used! If not set, the default value is 1 day
  5. Add the default authentication class in REST_FRAMEWORK settings in settings.py:

    REST_FRAMEWORK = {
        'DEFAULT_AUTHENTICATION_CLASSES': (
            ...
            'django_expiring_token.authentication.ExpiringTokenAuthentication',
            ...
        ),
    }
  6. Run python manage.py migrate to create package migrations

  7. Start the development server an you are good to go.

Tests

This build is tested against Python versions 3.4, 3.5, 3,6 with Django versions 2.0.8+

To run tests

  1. Install coverage:

    pip install coverage
  2. Run tests:

    coverage run runtest.py

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

django-expiring-token-1.0.3.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_expiring_token-1.0.3-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file django-expiring-token-1.0.3.tar.gz.

File metadata

  • Download URL: django-expiring-token-1.0.3.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.3

File hashes

Hashes for django-expiring-token-1.0.3.tar.gz
Algorithm Hash digest
SHA256 edc6b914e2c83704c97b4314d1041b7c281497d62d34dfb9227901a2e8fc3c6e
MD5 df01dee2690b3d97a33c01281545810c
BLAKE2b-256 5c1b537b8b830f646705103acbbf3242e3d1e7cb711d1321d83286ed19ea5f59

See more details on using hashes here.

File details

Details for the file django_expiring_token-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for django_expiring_token-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 77ce75f831e926d5f29b9400c3982b0cf8f47b8387f3bed1dea8a4cd0331a42f
MD5 7d35fe979f4d95e71272a026f9b05a0a
BLAKE2b-256 06500294caac6e206bbcd2c524d5840e4e2699a4d6bf07f7c8a5410bf97bc1c7

See more details on using hashes here.

Supported by

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