Metadata-Version: 1.1
Name: tokenauth
Version: 0.9.1
Summary: Django Simple Token Auth with Expiration Time and Prefix
Home-page: https://github.com/ahmetkotan/tokenauth
Author: Ahmet Kotan
Author-email: ahmtkotan@gmail.com
License: GPL
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/
        
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.8
Classifier: Framework :: Django :: 1.9
Classifier: Framework :: Django :: 1.10
Classifier: Framework :: Django :: 1.11
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
