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”  

 

转载于:https://www.cnblogs.com/ShenLw/p/8608136.html

你可能感兴趣的:(Django中使用Token实现认证)