Skip to main content

Django Simple Token Auth with Expiration Time and Prefix

Project description

=====================================================================
Tokenauth
=====================================================================
Tokenauth developed for django rest token authentication. It enables you to define expiration time and token prefix. Tokens generate with random data and it use SHA-256 algorithm.

Installation
============
on Pypi
::
pip install tokenauth
on Github
::
git clone git@github.com:ahmetkotan/tokenauth.git
cd tokenauth
python setup.py install

Settings
============
Added to `INSTALLED_APPS`.
::

INSTALLED_APPS = [
...
'tokenauth',
...
]

Added to `urls.py`.
::
urlpatterns = [
...
url(r'^<your-login-url>/', include('tokenauth.urls')),
...
]

Definition in `settings.py`
::
TOKEN_EXPIRATION_TIME = 60 * 60 * 24 * 3 # Default 3 days
TOKEN_PREFIX = "Bearer"
TOKEN_REFRESH = True

Usage
=====
Definition in `settings.py`
::
# Rest Framework
REST_FRAMEWORK = {
...
'DEFAULT_AUTHENTICATION_CLASSES': (
'tokenauth.auth.TokenAuthentication',
),
...
}

Or in `views.py`
::
from tokenauth.auth import TokenAuthentication
class SimpleView(ModelViewset):
authentication_classes = (TokenAuthentication, )


Created token and login:
::
curl -X POST -H "Content-Type: application/json" -d '{"username": "<username>", "password":"<password>"}' <your-django-url>/<your-login-url>/tokens/

Refresh token:
::
curl -X PUT -H "Content-Type: application/json" -d '{"key": "<your-valid-token>"}' <your-django-url>/<your-login-url>/tokens/

Deleted token and logout:
::
curl -X DELETE -H "Content-Type: application/json" -H "Authorization: <your-token>" <your-django-url>/<your-login-url>/tokens/

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

tokenauth-0.9.1.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file tokenauth-0.9.1.tar.gz.

File metadata

  • Download URL: tokenauth-0.9.1.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/3.6.5

File hashes

Hashes for tokenauth-0.9.1.tar.gz
Algorithm Hash digest
SHA256 0f732eefa401ccef227e311cdcc6719a9838f276f223fe32ac79e12146b32d49
MD5 2705d3252f206a6feb4f2a9bd901cd57
BLAKE2b-256 c535dd3553917c4b5e06bcf8cbc574111442bacdd098e677c117d5bc38c3fe3c

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