使用基於令牌的基本身份驗證
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
例項。