[英]DRF Token Authentication: { “detail”: “Authentication credentials were not provided.” }
我正在從事Django電子商務項目。
我試圖實現令牌認證系統。 我添加了rest_framework.authtoken
到INSTALLED_APPS
和
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
)
}
到設置文件。
這是我的urls.py
path('admin/', admin.site.urls),
path('login_signup/',include('login_signup.urls')),
path('profile',include('profile_info.urls')),
path('',include('category.urls')),
path('cart',include('cart.urls')),
path('api_token_auth',views.obtain_auth_token,name='auth-token'),
]
這是我的category.urls
文件。
urlpatterns=[
path('category',CategoryView.as_view(),name='category'),
path('subcategory',SubcategoryView.as_view(),name='subcategory'),
path('product',ProductView.as_view(),name='product'),
path('search',SearchView.as_view(),name='search'),
]
我可以通過在api_token_auth
端點提供用戶名和密碼來獲取令牌。
現在,只要以這種格式添加Authorization HTTP標頭,我就應該能夠訪問任何API。 授權:令牌“ xyz”
但是我不斷收到{"detail":"Authentication credentials were not provided"}
這是我嘗試訪問的視圖。
class SubcategoryView(APIView):
def get(self,request):
serializer=SubcategorySerializer(Subcategory.objects.all(),many=True)
return JsonResponse({"subcategories":serializer.data})
為什么我不斷收到此錯誤? 我究竟做錯了什么?
從Authorization
標頭值中刪除:
。 Authorization
標頭的值應如下所示:
Token <token value>
您需要像Authorization: Token 1740...20
一樣將令牌作為標頭傳遞Authorization: Token 1740...20
。 Token
后沒有分號。 這是curl命令
curl -X GET http://127.0.0.1:8000/subcategory/ -H 'Authorization: Token 1740...20'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.