はじめに
お疲れさまです。システム開発グループの早瀬です。
先日とあるツールのドキュメントを読んでいると、以下のエンドポイントを叩くと必要な情報が手に入るよという文章が書かれていました。
curl -X POST \
http://${host}:${port}/auth/realms/${realm}/protocol/openid-connect/token \
-H "Authorization: Bearer ${access_token}" \
--data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket"
<a href="http://${host}:${port}/auth/realms/${realm}/protocol/openid-connect/token">http://${host}:${port}/auth/realms/${realm}/protocol/openid-connect/token</a>にデータをPOSTしてるのだろうというのはなんとなく想像できるのですが、
これをPostmanから叩くにはどうすれば良いのか?という所で躓いたので、個人的な備忘録として残しました。
事前準備
curlコマンドが使えるのかを確認する。
$ curl --version
curl 7.64.1 (x86_64-apple-darwin19.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.39.2
curlコマンドを紐解く
さっそく遭遇したcurlコマンドを紐解いていきます。
- 1,2行目から
curl -X POST \
http://${host}:${port}/auth/realms/${realm}/protocol/openid-connect/token \
curlではメソッド名を指定しない場合は自動でGETメソッドになってしまうため、その他のメソッドを使用する場合は
-Xオプションを使用します。
上記の内容は、指定のURLに対してPOSTメソッドを実行しているという意味です。
(行末のバックスラッシュは改行を意味します。)
- 3行目
-H "Authorization: Bearer ${access_token}" \
次に
-HオプションはHTTPのRequest Headerに情報を追加する方法です。
上記の内容は、リクエストヘッダに
AuthorizationをキーにBearer ${access_token}を入れるという意味です。
- 4行目
--data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket"
最後に
--dataオプションはPOSTする値を示しています。
上記の内容は、
grant_typeをキーに、urn:ietf:params:oauth:grant-type:uma-ticketを入れるという意味になります。
Postmanで実行
コマンドの意味を紐解くことが出来たので、Postmanで実行します。 (波括弧で囲われた部分には適宜、必要な値を代入してください。)
- header

Body

しかし、エラーが発生して必要なデータの取得は出来ませんでした。
早瀬 大智