4

J'essaie d'utiliser django rest_framework_jwt. Je peux l'obtenir pour générer un jeton, mais quand j'essaie de l'envoyer dans l'en-tête vers une vue protégée, je reçois les informations d'identification d'authentification qui n'ont pas été fournies.Les informations d'authentification n'étaient pas fournies avec djangorestframework-jwt

Le format de l'en-tête j'envoie est:

"Authorization": "Token SomeRandomToken" 

settings.py

INSTALLED_APPS = [ 
     ... 
    rest_framework.authtoken 
] 

REST_FRAMEWORK = { 
    'DEFAULT_AUTHENTICATION_CLASSES': (
     'rest_framework.authentication.TokenAuthentication', 
     'rest_framework_jwt.authentication.JSONWebTokenAuthentication', 
    ), 
    'DEFAULT_PERMISSION_CLASSES': (
     'rest_framework.permissions.IsAuthenticated', 
    ), 
} 

views.py

class UserList(mixins.ListModelMixin, 
       mixins.CreateModelMixin, 
       generics.GenericAPIView): 
    permission_classes = (permissions.IsAuthenticated,) 
    authentication_classes = (JSONWebTokenAuthentication,) 
    queryset = User.objects.all() 
    serializer_class = UserSerializer 

Répondre

4

En regardant le docs je vous dirais devrait supprimer la valeur par défaut TokenAuthentication de votre Aussi l'en-tête

'DEFAULT_AUTHENTICATION_CLASSES': (
     'rest_framework_jwt.authentication.JSONWebTokenAuthentication', 
    ), 

semble avoir un format différent:

Maintenant, pour accéder urls api protégées vous devez inclure l'en-tête Authorization: JWT <your_token>.

+0

Vous avez mélangé les deux documentations. La correction de l'en-tête a corrigé le problème. Merci – Mantis