我可以通过网络浏览器成功调用我的 Api。使用 IdentityModel 可以正常工作。但是当我尝试通过 Fiddler 调用 Api 时,我得到了 invalid_client。我的客户信息来自基于 MembershipReboot Client 表的数据库。
我尝试通过 Post Body 和 Authentication basic 传递数据。两者都失败了。
使用身份验证基本编码参数调用时,我有以下内容>
User-Agent: Fiddler
Host: qaquasaridentity
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
Authorization: Basic dGVzdC5hcGk6c2VjcmV0
Fiddler 中的实际编码值显示:
No Proxy-Authorization Header is present.
Authorization Header is present: Basic dGVzdC5hcGk6c2VjcmV0
Decoded Username:Password= test.api:secret
当我使用 Post Body 作为参数调用时,传递的数据是:
client_id=test.api
&client_secret=secret
&grant_type=client_credentials
&scope=testapi
服务器日志说
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
我有 client_id 和 client_secret 但错误日志另有说明。谁能解释我做错了什么?我可以通过后端的 .NET 获取我的 access_token,但不能通过 Fiddler。