web-dev-qa-db-ja.com

postmanでクライアント資格情報を渡す方法は?

このカールはうまくいきます

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

このカールでは、acmeacmesecretは、localhost:9999で実行されている承認サーバーで認証するためにアプリケーションが使用するクライアント資格情報です

私はポストマン(クロムの残りのクライアント)を使用して同じ要求をしようとしています。

これがスクリーンショットです(基本認証タブで資格情報を入力しました)

enter image description here

送信されるリクエストのプレビューは次のとおりです:(注:AUthorization基本ヘッダーが追加されます)

enter image description here

「invalid_client」というエラーが発生します。これを修正する方法?

ありがとう

4
brain storm

cURL

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

acme:acmesecretは、基本認証ヘッダーで送信されるHTTPクライアント資格情報です。 -vスイッチでリクエストのヘッダーを表示します。

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

これがフォームデータです。

Postmanリクエストでは、それを切り替えます。フォームデータにクライアント資格情報があり、authヘッダーにユーザー資格情報があると思います。

それらを切り替えるだけです。 OAuth 2.0パスワード許可要求の場合、クライアントの資格情報はauthヘッダーに入れ、ユーザーの資格情報はフォームデータに入れます。

3
Paul Samsotha

他の人がより明確にする必要がある場合に備えて、この情報はPostmanのドキュメントから非常に役立つことがわかりました。

Postman> APIリクエストの送信>承認

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

0
vsvs