You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Choisir un client typePublic et un Authorization grant typeClient credentials, l'associer à l'utilisateur user1. Noter le client id, le user id et le client secret. Sauvegarder.
Dans un terminal :
ZDS_CRED=$(echo -n '<le client id>:<le client secret>'| base64)
curl -X POST -H "Authorization: Basic $ZDS_CRED" -H "Cache-Control: no-cache" -H "Content-Type: application/x-www-form-urlencoded" http://127.0.0.1:8000/oauth2/token/ -d '{"grant_type": "client_credentials"}'
curl -X GET -H "Authorization: Bearer <l'access token>""http://127.0.0.1:8000/api/forums/message/108/karma/"# ou autre id de message qui existe à la place de 108
Là on se prend une erreur 500. La backtrace dans le terminal qui a lancé ZdS est plus lisible que le code HTML renvoyé par la commande curl.
De ce que je comprends, avec une application authentifiée avec un client credentials, on n'a pas d'utilisateur associé à la requête, donc il faut changer cette ligne en :
ifrequestisnotNoneandrequest.userisnotNone:
Maintenant, dans zds/settings/dev.py, passer DEBUG à False. Relancer la dernière commande curl pour obtenir le karma, on obtient maintenant une erreur dans la génération de la page d'erreur 500, à cet endroit, car on essaie d'accéder à un attribut de user qui est NULL.
On peut corriger ces différents points, mais je me demande :
est-ce normal qu'on n'ait pas d'utilisateur associé à la requête lorsqu'on interagit avec l'API avec un client credentials ?
est-ce que ce ne serait pas plus simple de désactiver la possibilité d'avoir des applications avec des grant type client credentials ? (dans notre doc, on recommande plutôt d'utiliser des ressource owner-based)
The text was updated successfully, but these errors were encountered:
Plusieurs petits problèmes avec l'API, initialement évoqués sur le forum, et également rapportés par Sentry.
user1
. Noter le client id, le user id et le client secret. Sauvegarder.Là on se prend une erreur 500. La backtrace dans le terminal qui a lancé ZdS est plus lisible que le code HTML renvoyé par la commande curl.
De ce que je comprends, avec une application authentifiée avec un client credentials, on n'a pas d'utilisateur associé à la requête, donc il faut changer cette ligne en :
Maintenant, dans
zds/settings/dev.py
, passerDEBUG
àFalse
. Relancer la dernière commande curl pour obtenir le karma, on obtient maintenant une erreur dans la génération de la page d'erreur 500, à cet endroit, car on essaie d'accéder à un attribut deuser
qui estNULL
.On peut corriger ces différents points, mais je me demande :
ressource owner-based
)The text was updated successfully, but these errors were encountered: