使用基于令牌的基本身份验证
Django REST Framework 提供了一种基本的基于令牌的身份验证机制,需要在可用之前将其配置为 Django 中的应用程序,以便在数据库中创建令牌,并处理其生命周期。
将基于令牌的身份验证添加到 settings.py
INSTALLED_APPS = (
...
'rest_framework.authtoken'
)
运行数据库迁移
./manage.py migrate
为你的用户创建令牌
不知何故,你将不得不创建一个令牌并将其返回:
def some_api(request):
token = Token.objects.create(user=request.user)
return Response({'token': token.key})
令牌应用程序中已有一个 API 端点,因此你只需将以下内容添加到 urls.py:
urls.py
from rest_framework.authtoken import views
urlpatterns += [
url(r'^auth-token/', views.obtain_auth_token)
]
客户现在可以进行身份验证
使用 Authorization
标头如:
Authorization: Token 123456789
以文字 Token
为前缀,令牌本身在空白之后。
可以通过子类化 TokenAuthentication
和更改 keyword
类变量来更改文字。
如果经过身份验证,request.auth
将包含 rest_framework.authtoken.models.BasicToken
实例。