2.11. アプリケーションをテストする
開発モードでアプリケーションをテストする方法は、前述の 開発モードでのアプリケーションの実行 セクションを参照してください。
curl を使用して、JVM モードまたはネイティブモードで起動されたアプリケーションをテストできます。
- アプリケーションはベアラートークン認証を使用するため、アプリケーションリソースにアクセスするには、まず Keycloak サーバーからアクセストークンを取得する必要があります。
quarkus.oidc.authentication.user-info-required プロパティーが true に設定され、UserInfo をリクエストするためにアクセストークンの使用が要求される場合、トークン付与リクエストコマンドに scope=openid クエリーパラメーターを追加する必要があります。次に例を示します。
上記の例では、ユーザー alice のアクセストークンを取得します。
-
どのユーザーも
http://localhost:8080/api/users/meエンドポイントにアクセスでき、ユーザーの詳細を含む JSON ペイロードが返されます。
curl -v -X GET \ http://localhost:8080/api/users/me \ -H "Authorization: Bearer "$access_token
curl -v -X GET \
http://localhost:8080/api/users/me \
-H "Authorization: Bearer "$access_token
-
adminロールを持つユーザーのみがhttp://localhost:8080/api/adminエンドポイントにアクセスできます。以前に発行されたアクセストークンを使用してこのエンドポイントにアクセスしようとすると、サーバーから403応答が返されます。
curl -v -X GET \ http://localhost:8080/api/admin \ -H "Authorization: Bearer "$access_token
curl -v -X GET \
http://localhost:8080/api/admin \
-H "Authorization: Bearer "$access_token
-
管理エンドポイントにアクセスするには、
adminユーザーのトークンを取得します。
Dev Services for Keycloak に依存する結合テストの作成に関する詳細は、「OpenID Connect (OIDC) ベアラートークン認証」ガイドの Dev Services for Keycloak セクションを参照してください。