web-dev-qa-db-fra.com

Laravel Passport - Type de subvention non pris en charge

J'ai installé Laravel Passport conformément à la documentation et j'ai modifié toutes les zones de mon code requises. 

Je travaille actuellement sur la configuration des jetons d'octroi de mots de passe afin que les utilisateurs puissent obtenir un jeton d'API lorsqu'ils se connectent avec leur nom d'utilisateur et leur mot de passe pour le site. Je rencontre un problème avec Grant_type . Pour une raison quelconque, Laravel se plaint d'un type d'octroi invalide.

{
  "error": "unsupported_grant_type",
  "message": "The authorization grant type is not supported by the authorization server.",
  "hint": "Check the `grant_type` parameter"
}

Ce sont les champs que je poste sur /oauth/token

client_id = 4
client_secret = SMiYE7XqDNtXKQnmkYmFnXxfAaV83vRhnJ9zwCtZ
username = [email protected]
password = **************
grant_type = password
scope = *

J'ai exécuté php artisan passport:install et j'ai également essayé d'exécuter php artisan passport:client --password

Les deux commandes ont fonctionné et les deux ont créé le client et les secrets, cependant, je ne peux pas sembler avoir dépassé l'erreur concernant le grant_type.

Des suggestions sur ce que je devrais examiner pour résoudre le problème afin que les jetons d'octroi de mot de passe fonctionnent pour moi?

14
Joseph Crawford

Il semble que vous deviez envoyer les paramètres en tant que données de formulaire et non dans les en-têtes comme je le faisais ... Erreur de recrue!

24
Joseph Crawford

J'utilise Postman et j'ai mis tous les paramètres dans Params. Facteur montre la réponse suivante

{
    "error": "unsupported_grant_type",
    "message": "The authorization grant type is not supported by the authorization server.",
    "hint": "Check the `grant_type` parameter"
}

Maintenant, je mets tous les paramètres dans Body puis appuie sur le bouton Send, ça fonctionne bien.

4
Muhammad Hashim

URL initiale

https://restfulapi.test/oauth/authorize?client_id=3&redirect_url=http://restfulapi.test?response_type=code

Solution

https://restfulapi.test/oauth/authorize?client_id=3&redirect_url=http://restfulapi.test&response_type=code

Je devais remplacer le point d'interrogation avant response_type par le &

0
MT_Shikomba