DRF Auth的用法

Token的原理:

用户注册的时候,就给绑定一个Token,存到数据库里面,用户在提交表单的时候,需要要header里面增加一个Token

DRM实现Token的流程

*配置 Basic Auth 和 Sessionauth 到 setting.py里面

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

增加app rest-framework.authtoken 到 INSTALLED-APPS 里面

  • 记得执行python manage.py makemigrationspython manage.py migrate‘ 重新生成数据库,这时你应该可以看到数据库新建了一个表叫authtoken-token

在用户注册的时候就给用户一个token

from rest-framework.authtoken.models import Token # 导入Token
token = Token.object.create(user=....)
print(token) # 就可以拿到用户的token了,而且会自动存入数据库!

然后把 token 放到header里面就好

别忘记在urls.py里面urlpatterns的配置一个新的url用于token的校验

re_path(r'^api-token-auth/', views.obtain_auth_token), #这是验证token 的view