Bien le bonjour!
Je suis donc en train d'écrire une appli web sous django, et je rencontre quelques problèmes avec TokenAuthentication.
Je pense avoir fait tout ce qu'il fallait mais rien à faire, ça marche pas!
Je souhaite acceder à la page http://127.0.0.1/api/ qui a cette vue :
Lorsque je vais directement sur l'adresse, il suffit que je me log avec le compte superuser que j'ai créé et ça va.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 class ApiIndexView(generics.ListCreateAPIView): permission_classes = (IsAuthenticated,) queryset = Fact.objects.all() serializer_class = FactSerializer
Dans mon script, je lance :
Le premier request fonctionne bien, je récupère le Token associé à l'user admin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 import requests data={'username': 'admin', 'password': '123456aze'} response = requests.post('http://127.0.0.1:8000/api-token-auth/', data=data) to_ken = response.json()['token'] print(to_ken) headers={'Authorization': 'Token %s' % to_ken } response = requests.post('http://127.0.0.1:8000/api/', headers=headers)
Mais le second me renvoi un status_code 403, ce qui correspond à Forbidden (ce qui est fort vu que je suis superuser)
J'ai bien poncé la doc de Django_rest, sans trouver de solutions, j'ai bien fait tout ce qui est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 INSTALLED_APPS = ( ... 'rest_framework.authtoken' )Bref, je ne vois pas du tout ce qui ne vas pas, si vous avez des idées, je suis preneur!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.TokenAuthentication', ) }
Merci d'avance!
Cap'
Partager