Authentication

2018-12-20  本文已影响0人  xncode

可以使用全局的DEFAULT_AUTHENTICATION_CLASSES来设置认证方式,也可以在每个视图中通过authentication_classes来设置。

在为认证时会有:401 403的提示

BasicAuthentication
TokenAuthentication 另需在INSTALLED_APPS中增加rest_framework.authtoken
SessionAuthentication
RemoteUserAuthentication

django-oauth-toolkit

源码实现

drf的调用是获取authenticators,调用其authenticate方法,返回user auth

BasicAuthentication

获取HTTP_AUTHORIZATION头部 判断第一部分为basic
将第二部分base64解码 按:分开为 用户名 密码 调用authenticate认证

SessionAuthentication

获取django的原生request中的user

TokenAuthentication

获取HTTP_AUTHORIZATION头部
以第二部分为key,从rest_framework.authtoken.models.Token中查找并返回获取到的user

上一篇下一篇

猜你喜欢

热点阅读