Django中使用Token實現認證


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

    python 3.5.2

    Django 2.0.3

    djangorestframework 3.7.7

 

創建Django項目

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

  2.安裝djangorestframework  pip install djangorestframework

 

配置認證模式

  在settings中添加如下配置 

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

 

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

 

生成並使用Token

  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”  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM