1.8. 開発モードでのアプリケーションの実行
アプリケーションを開発モードで実行するには、次のコマンドを使用します。
Quarkus CLI を使用する場合:
quarkus dev
quarkus devCopy to Clipboard Copied! Toggle word wrap Toggle overflow Maven を使用する場合:
./mvnw quarkus:dev
./mvnw quarkus:devCopy to Clipboard Copied! Toggle word wrap Toggle overflow Gradle を使用する場合:
./gradlew --console=plain quarkusDev
./gradlew --console=plain quarkusDevCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Dev Services for Keycloak は、Keycloak コンテナーを起動し、quarkus-realm.json 設定ファイルをインポートします。
/q/dev-ui で利用可能な Dev UI を開き、Dev UI の OpenID Connect カードの Provider: Keycloak リンクをクリックします。
ユーザー権限のテスト
OpenID Connect Dev UI によって提供される Single Page Application にログインするように求められたら、次の手順を実行します。
/api/users/meリソースにアクセスするためのUser Permissionのみを持つalice(パスワード:alice) としてログインします。-
/api/adminにアクセスすると、403が返されます。 -
/api/users/meにアクセスすると、200が返されます。
-
ログアウトし、
adminとしてログインします (パスワード:admin)。admin は、/api/adminリソースにアクセスするためのAdmin Permissionと、/api/users/meリソースにアクセスするためのUser Permissionの両方を持っています。-
/api/adminにアクセスすると、200が返されます。 -
/api/users/meにアクセスすると、200が返されます。
-
Keycloak レルムのカスタマイズ
quarkus-realm.json などのレルムファイルをインポートせずに Dev Services for Keycloak を開始した場合は、Keycloak 認可ポリシーなしでデフォルトの quarkus レルムを作成します。
- Dev UI の OpenID Connect カードから Keycloak Admin リンクを選択します。
-
Keycloak 管理コンソールにログインします。ユーザー名とパスワードは両方とも
adminです。 -
quarkusレルムで認可ポリシーを有効にするには、Keycloak Authorization Services ドキュメント の指示に従ってください。
Keycloak Admin リンクは、Dev UI で簡単に見つけることができます。
カスタム JavaScript ポリシーの追加
アプリケーションが JAR ファイルにデプロイされた JavaScript ポリシー で設定された Keycloak 認可を使用する場合、Dev Services for Keycloak はこのアーカイブを Keycloak コンテナーに転送できます。転送を設定するには、application.properties の次のプロパティーを使用します。
# Alias the policies archive quarkus.keycloak.devservices.resource-aliases.policies=/policies.jar # Map the policies archive to a specific location in the container quarkus.keycloak.devservices.resource-mappings.policies=/opt/keycloak/providers/policies.jar
# Alias the policies archive
quarkus.keycloak.devservices.resource-aliases.policies=/policies.jar
# Map the policies archive to a specific location in the container
quarkus.keycloak.devservices.resource-mappings.policies=/opt/keycloak/providers/policies.jar