web-dev-qa-db-fra.com

Comment faire une demande de mot de passe d'utilisateur avec l'API personnalisée auth0, en obtenant l'erreur "type de subvention non prise en charge: mot de passe"

J'ai essayé d'utiliser le modèle auth0 postman pour effectuer une demande d'authentification à l'aide d'un nom d'utilisateur et d'un mot de passe, et je reçois un unsupported grant type: password error. Qu'est-ce que je fais mal?

var client = new RestClient("https://test.auth0.com/oauth/token");
var request = new RestRequest(Method.POST);
request.AddHeader("postman-token", "abc");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "grant_type=password&client_id=foo&audience=&username=test&password=test&scope=openid%20email%20picture%20nickname", ParameterType.RequestBody);
12
MonkeyBonkey
  1. Connectez-vous au tableau de bord Auth0
  2. Accédez aux paramètres du compte (en haut à droite sous votre nom d'utilisateur)
  3. Sur l'onglet Général, faites défiler jusqu'à la section API Authorization Settings
  4. Default Audience serait votre identifiant d'API (si vous avez une API)
  5. Default Directory serait votre connexion telle que le nom de connexion à la base de données

Dans votre POST à oauth/token, n'incluez pas l'audience (si vous avez spécifié la valeur par défaut ci-dessus).

Il faut aimer comment Auth0 rend l'authentification facile et douloureusement difficile en même temps.

Reportez-vous ci-dessous capture d'écran à titre de référence .  enter image description here

35
The Muffin Man

Ce sont les mesures exactes que j'ai prises afin de résoudre ce problème exact

Connectez-vous avec le navigateur sur le bureau En haut à droite de l'interface utilisateur, cliquez sur nom d'utilisateur, puis sur Paramètres.

Faites défiler jusqu'à Paramètres d'autorisation API

Entrez des valeurs valides dans Audience par défaut et Répertoire par défaut. 

Par exemple, pour moi, j'utilisais déjà l'écran de verrouillage et j'avais déjà configuré une audience par défaut que je configurais dans mon application client et où tout fonctionnait correctement. 

J'avais aussi déjà configuré Connections> Database, avec le nom Username-Password-Authentication. 

Voici une capture d'écran de ce travail après avoir effectué ce qui précède, en utilisant la collection de postiers, qui au moment de l'écriture est contenue ici

https://app.getpostman.com/run-collection/2a9bc47495ab00cda178

qui est référencé ici

https://auth0.com/docs/api/authentication#code-samples

 enter image description here

0
joey