検索

8.11. アプリケーションのテスト

download PDF

開発モードでアプリケーションをテストする方法の詳細は、前述の 開発モードでのアプリケーションの実行 セクションを参照してください。

curl を使用して、JVM モードまたはネイティブモードで起動されたアプリケーションをテストできます。

alice のアクセストークンを取得します。

export access_token=$(\
    curl --insecure -X POST http://localhost:8180/realms/quarkus/protocol/openid-connect/token \
    --user backend-service:secret \
    -H 'content-type: application/x-www-form-urlencoded' \
    -d 'username=alice&password=alice&grant_type=password' | jq --raw-output '.access_token' \
 )

次に、このトークンを使用して、/frontend/user-name-with-propagated-token および /frontend/admin-name-with-propagated-tokenを呼び出します。

curl -i -X GET \
  http://localhost:8080/frontend/user-name-with-propagated-token \
  -H "Authorization: Bearer "$access_token

このコマンドは、ステータスコード 200 と名前 alice を返します。

curl -i -X GET \
  http://localhost:8080/frontend/admin-name-with-propagated-token \
  -H "Authorization: Bearer "$access_token

対照的に、このコマンドは 403 を返します。alice には user ロールのみがあることを思い出してください。

次に、admin のアクセストークンを取得します。

export access_token=$(\
    curl --insecure -X POST http://localhost:8180/realms/quarkus/protocol/openid-connect/token \
    --user backend-service:secret \
    -H 'content-type: application/x-www-form-urlencoded' \
    -d 'username=admin&password=admin&grant_type=password' | jq --raw-output '.access_token' \
 )

このトークンを使用して /frontend/user-name-with-propagated-token を呼び出します。

curl -i -X GET \
  http://localhost:8080/frontend/user-name-with-propagated-token \
  -H "Authorization: Bearer "$access_token

このコマンドは、ステータスコード 200 と名前 admin を返します。

次に、このトークンを使用して /frontend/admin-name-with-propagated-token を呼び出します。

curl -i -X GET \
  http://localhost:8080/frontend/admin-name-with-propagated-token \
  -H "Authorization: Bearer "$access_token

adminuseradmin の両方のロールがあるため、このコマンドは、200 ステータスコードと名前 admin も返します。

ここで、既存のトークンを伝播せず、OidcClient を使用してトークンを取得および伝播する FrontendResource メソッドを確認します。すでに示したように、OidcClientalice ユーザーのトークンを取得するように設定されているため、次のようになります。

curl -i -X GET \
  http://localhost:8080/frontend/user-name-with-oidc-client-token

このコマンドは、ステータスコード 200 と名前 alice を返します。

curl -i -X GET \
  http://localhost:8080/frontend/admin-name-with-oidc-client-token

前のコマンドとは対照的に、このコマンドは 403 ステータスコードを返します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.