2.11. アプリケーションをテストする
開発モードでアプリケーションをテストする方法は、前述の 開発モードでのアプリケーションの実行 セクションを参照してください。
curl
を使用して、JVM モードまたはネイティブモードで起動されたアプリケーションをテストできます。
- アプリケーションはベアラートークン認証を使用するため、アプリケーションリソースにアクセスするには、まず Keycloak サーバーからアクセストークンを取得する必要があります。
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' \ )
上記の例では、ユーザー alice
のアクセストークンを取得します。
-
どのユーザーも
http://localhost:8080/api/users/me
エンドポイントにアクセスでき、ユーザーの詳細を含む JSON ペイロードが返されます。
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
-
管理エンドポイントにアクセスするには、
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' \ )
Dev Services for Keycloak
に依存する結合テストの作成に関する詳細は、「OpenID Connect (OIDC) ベアラートークン認証」ガイドの Dev Services for Keycloak セクションを参照してください。