Django中使用Token實現認證

  本文主要介紹django中token的生成與使用。 
  版本:前端

    python 3.5.2python

    Django 2.0.3django

    djangorestframework 3.7.7spa

 

建立Django項目rest

  1.安裝django。https://docs.djangoproject.com/en/2.0/intro/tutorial01/code

  2.安裝djangorestframework  pip install djangorestframework
blog

 

配置認證模式token

  在settings中添加以下配置 接口

INSTALLED_APPS = [
    ......
    ......
    'rest_framework.authtoken'
    ......        
]

 

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.TokenAuthentication',
    )
}

 

生成並使用Tokenip

  Note:注意使用python manage.py migrate 生成對應的表

  在須要使用的地發引入  

from rest_framework.authtoken.models import Token
from django.contrib.auth.models import User
from rest_framework import permissions

 

  1.在代碼中建立Toke

token = Token.objects.create(user=...)
print token.key

  2.在接口中認證用戶

  例如:

class DoingView(views.APIView):
    permission_classes = (permissions.IsAuthenticated,)
    def get(self,request):
       doning....

  Note:使用 request.user 來得到請求的用戶是誰。

 

  3.前端請求參數

   前端請求時須要在headers中帶上以下參數,例如

   「Authorization」:「Token c4742d9de47d2cfec1dbe5819883ce6a3e4d99b」  

相關文章
相關標籤/搜索