Je peux appeler avec succès mon Api via un navigateur Web. L'utilisation d'IdentityModel fonctionne très bien. Mais quand j'essaie d'appeler l'Api via Fiddler, j'obtiens invalid_client. Mes informations client proviennent d'une base de données basée sur les tables Client MembershipReboot.Impossible d'obtenir un jeton d'accès via Fiddler IdentityServer3
J'ai essayé de transmettre des données via Post Body et via Authentication basic. Les deux échouent.
Lors de l'appel à l'aide des paramètres d'authentification de base encodées je donne les résultats suivants>
User-Agent: Fiddler
Host: qaquasaridentity
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
Authorization: Basic dGVzdC5hcGk6c2VjcmV0
La valeur encodée réelle Fiddler montre:
No Proxy-Authorization Header is present.
Authorization Header is present: Basic dGVzdC5hcGk6c2VjcmV0
Decoded Username:Password= test.api:secret
Quand j'appel à l'aide du corps après des paramètres les données transmises est:
client_id=test.api
&client_secret=secret
&grant_type=client_credentials
&scope=testapi
Le journal du serveur indique
2017-01-20 12:06:13.968 -06:00 [Debug] Start client validation
2017-01-20 12:06:13.971 -06:00 [Debug] Start parsing Basic Authentication secret
2017-01-20 12:06:13.973 -06:00 [Debug] Start parsing for secret in post body
2017-01-20 12:06:13.973 -06:00 [Debug] No secret in post body found
2017-01-20 12:06:13.976 -06:00 [Debug] Start parsing for X.509 certificate
2017-01-20 12:06:13.976 -06:00 [Debug] client_id is not found in post body
w3wp.exe Information: 0 : 2017-01-20 12:06:13.976 -06:00 [Information] Parser found no secret
w3wp.exe Information: 0 : 2017-01-20 12:06:13.981 -06:00 [Information] No client secret found
w3wp.exe Information: 0 : 2017-01-20 12:06:13.983 -06:00 [Information] End token request
w3wp.exe Information: 0 : 2017-01-20 12:06:13.988 -06:00 [Information] Returning error: invalid_client
Je le client_id et client_secret mais le journal d'erreur indique le contraire. Quelqu'un peut-il expliquer ce que je fais mal? Je peux obtenir mon access_token via .NET sur le backend mais pas via Fiddler.
je reçois la même erreur le faire aussi bien. Mais le journal des erreurs indique maintenant un algorithme de hachage invalide. Je fournis les informations via PostBody comme dans votre exemple. – Keith
Il semble qu'il y ait un espace blanc supplémentaire entre "Basic" et votre clientid encodé en base64: clientsecret. Est-ce que ça pourrait être ça? –
L'authentification de base n'est-elle pas facultative? Si j'utilise le PostBody comme dans votre exemple, je n'ai pas besoin de Authentication Basic XXXXX. Correct? – Keith