如何在邮递员中传递客户凭证?

how to pass client credentials in postman?

这个卷发效果很好

curl acme:acmesecret@localhost:9999/uaa/oauth/token  -d "password=password&username=user&grant_type=password" -H "Accept: application/json"

在此 curl 中,acmeacmesecret 是应用程序使用的客户端凭据,用于在 localhost:9999

中向授权服务器 运行 进行身份验证

我正在尝试使用邮递员(chrome 的休息客户端)发出相同的请求。

这是屏幕截图(我在基本身份验证选项卡中输入了凭据)

这是发出的请求的预览:(注意:添加了授权基本 header)

我收到错误 "invalid_client"。如何解决这个问题?

谢谢

cURL

acme:acmesecret@localhost:9999/uaa/oauth/token

acme:acmesecret 是在基本身份验证 header 中发送的 HTTP 客户端凭据。您可以添加 -v 开关以查看请求中的 header。

-d "password=password&username=user&grant_type=password"

这是表单数据。

在 Postman 请求中,您将其切换了。您在表单数据中有客户端凭据,我猜您在 auth header 中有用户凭据。

只是切换它们。对于 OAuth 2.0 密码授予请求,客户端凭据应放在 auth header 中,而用户凭据应放在表单数据中。

我发现 Postman 文档中的这条信息非常有用,以防其他人需要更多说明。

邮差 > 发送 API 请求 > 授权

https://learning.getpostman.com/docs/postman/sending_api_requests/authorization/