web-dev-qa-db-ja.com

postmanからkeycloak APIにアクセスします

郵便配達人からkeycloak APIにアクセスしようとしました。しかし、それは400の悪いリクエストを示しています。

私は以下の形式でapiを呼び出していました。

http://{hostname}:8080/auth/realms/master/protocol/openid-connect/token?username=admin&password=admin&client_id=admin-cli&grant_type=password

ヘッダーにcontent_type as application/x-www-form-urlencodedを設定しました

私は次のように応答を得ています。

{
    "error": "invalid_request",
    "error_description": "Missing form parameter: grant_type"
}

誰でも助けてもらえますか?前もって感謝します

10
Programmer

この質問には少し遅れましたが、カールではなく郵便屋さんについて尋ねました。したがって、オプションをx-www-form-urlencoded に入れる必要がありますenter image description here

10
UchihaItachi

APIを呼び出すには、POST client

[〜#〜] url [〜#〜]- http:// localhost:8080/auth/realms/Demo/protocol/openid-connect/token

したがって、上記のURLでは、Demoの代わりにmasterをレルムとして使用しています。

ContentType-"Content-Type": "application/x-www-form-urlencoded"

パラメータ

{

"client_secret" : "90ec9638-7647-4e65-ad20-b82df3341084",
"username" : "ankur",
"password" : "123456",
"grant_type" : "password",
"client_id": "app-client"

}

以下のようにヘッダーを設定します

enter image description here

以下に示すようにデータを渡す必要がありますenter image description here

4
Ankur Singhal

使用しているURLは、トークンを取得するためのものです。

トークンリクエストは、POST呼び出し、投稿するリクエストはGETリクエストである必要があります。以下のaccess_token

curl -X POST \
   http://{hostname}:8080/auth/realms/{realm}/protocol/openid-connect/token \
   -H 'Content-Type: application/x-www-form-urlencoded' \
   -d 'username=admin&password=admin&grant_type=password&client_id=admin-cli'
2
Pablo Bastidas