我目前正在使用 Django rest 框架并嘗試實作一個令牌認證系統。目前,我的 settings.py 看起來像這樣:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication'
]
}
和 rest_framework.authtoken 在 installed_apps 中。
我的 urls.py 看起來像這樣:
urlpatterns = [
...
url('^v1/users/$', views.users_view),
...
]
我的 views.py 看起來像這樣:
@authentication_classes((TokenAuthentication,))
@api_view(['PUT', 'POST'])
def users_view(request):
...
我正在郵遞員那里測驗 API,無論我是否將令牌放在授權欄位中,API 都會按預期作業。我需要更改哪些令牌身份驗證才能按預期作業?
更新:Reqbin 也給了我相同的功能,所以我認為郵遞員沒有問題。
uj5u.com熱心網友回復:
您還需要添加權限類。
@authentication_classes((TokenAuthentication,))
@permission_classes((IsAuthenticated,))
@api_view(['PUT', 'POST'])
def users_view(request):
...
uj5u.com熱心網友回復:
Django 中似乎存在一個錯誤,它不允許某些身份驗證與基于函式的視圖一起使用。我可以確認它不適用于 TokenAuthentication 并且需要使用基于類的視圖。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/368165.html
