9.6.7.2. コマンドラインを使用した HTTP 要求の認証
HTTP POST 要求を Red Hat SSO サーバーに送信してトークンを要求します。以下の例では、CLI ツール jq を使用して JSON 応答からトークン値を抽出します。
前提条件
- セキュアなサンプルエンドポイント URL。詳細は「Secured サンプルアプリケーション API エンドポイントの取得」を参照してください。
-
jqコマンドラインツール (任意)。ツールのダウンロードと、詳細な情報は、https://stedolan.github.io/jq/ を参照してください。
手順
curl、認証情報、<SSO_AUTH_SERVER_URL>でアクセストークンを要求し、jqコマンドを使用して応答からトークンを展開します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow <SSO_AUTH_SERVER_URL>はsecure-ssoサービスの URL です。通常、
username、password、client_secretなどの属性は、通常、秘密になりますが、上記のコマンドはこの例で提供されているデフォルトの認証情報をデモの目的で使用します。jqを使用してトークンを抽出しない場合は、curlコマンドのみを実行し、アクセストークンを手動で抽出できます。注記-skオプションは curl に対し、自己署名証明書の失敗を無視します。実稼働環境ではこのオプションを使用しないでください。macOS では、curlバージョン7.56.1以降がインストールされている必要があります。また、OpenSSL でビルドする必要があります。
Secured サービスを起動します。アクセス (ベアラー) トークンを HTTP ヘッダーに割り当てます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例9.2 Access (Bearer) トークンが含まれる
GET要求ヘッダーのサンプル> GET /api/greeting HTTP/1.1 > Host: <SERVICE_HOST> > User-Agent: curl/7.51.0 > Accept: */* > Authorization: Bearer <TOKEN>
> GET /api/greeting HTTP/1.1 > Host: <SERVICE_HOST> > User-Agent: curl/7.51.0 > Accept: */* > Authorization: Bearer <TOKEN>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <SERVICE_HOST>は、セキュアなサンプルエンドポイントの URL です。詳細は「Secured サンプルアプリケーション API エンドポイントの取得」を参照してください。アクセストークンの署名を確認します。
アクセストークンは JSON Web トークン であるため、JWT デバッガー を使用してデコードできます。
- Web ブラウザーで、JWT デバッガー の Web サイトに移動します。
Algorithm ドロップダウンメニューから
RS256を選択します。注記選択後に Web フォームが更新され、正しい RSASHA256(…) 情報が Signature セクションに表示されることを確認します。そうでない場合は、HS256 に切り替えてから RS256 に戻ります。
上部のテキストボックスの VERIFY SIGNATURE セクションに以下のコンテンツを貼り付けます。
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoETnPmN55xBJjRzN/cs30OzJ9olkteLVNRjzdTxFOyRtS2ovDfzdhhO9XzUcTMbIsCOAZtSt8K+6yvBXypOSYvI75EUdypmkcK1KoptqY5KEBQ1KwhWuP7IWQ0fshUwD6jI1QWDfGxfM/h34FvEn/0tJ71xN2P8TI2YanwuDZgosdobx/PAvlGREBGuk4BgmexTOkAdnFxIUQcCkiEZ2C41uCrxiS4CEe5OX91aK9HKZV4ZJX6vnqMHmdDnsMdO+UFtxOBYZio+a1jP4W3d7J5fGeiOaXjQCOpivKnP2yU2DPdWmDMyVb67l8DRA+jh0OJFKZ5H2fNgE3II59vdsRwIDAQAB -----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoETnPmN55xBJjRzN/cs30OzJ9olkteLVNRjzdTxFOyRtS2ovDfzdhhO9XzUcTMbIsCOAZtSt8K+6yvBXypOSYvI75EUdypmkcK1KoptqY5KEBQ1KwhWuP7IWQ0fshUwD6jI1QWDfGxfM/h34FvEn/0tJ71xN2P8TI2YanwuDZgosdobx/PAvlGREBGuk4BgmexTOkAdnFxIUQcCkiEZ2C41uCrxiS4CEe5OX91aK9HKZV4ZJX6vnqMHmdDnsMdO+UFtxOBYZio+a1jP4W3d7J5fGeiOaXjQCOpivKnP2yU2DPdWmDMyVb67l8DRA+jh0OJFKZ5H2fNgE3II59vdsRwIDAQAB -----END PUBLIC KEY-----Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記これは、Secured サンプルアプリケーションの Red Hat SSO サーバーデプロイメントからのマスターレルム公開鍵です。
クライアント出力から Encoded されたボックスに
token出力を貼り付けます。Signature Verified 記号がデバッガーページに表示されます。