15.4. Keycloak で Red Hat build of HawtIO と OpenID Connect 認証を使用する
Keycloak インスタンスを実行する最も簡単な方法は、コンテナーを使用することです。
podman run -d --name keycloak \
-p 18080:8080 \
-e KEYCLOAK_ADMIN=admin \
-e KEYCLOAK_ADMIN_PASSWORD=admin \
quay.io/keycloak/keycloak:latest start-dev
起動したら、http://localhost:18080/admin/master/console/ にアクセスし、新しいレルムを作成します。
レルム作成画面で、事前設定された hawtio-client クライアントと 3 ユーザーを含む新しい hawtio-demo レルムを定義する hawtio-demo-realm.json をアップロードします。
-
admin または
manager、admin、viewer、userのロールを持つ admin -
viewer または
viewerおよびuserのロールを持つ viewer -
jdoe または
userロールのみを持つ jdoe
15.4.1. JWT トークンに関する問題の調査 リンクのコピーリンクがクリップボードにコピーされました!
付与されたアクセストークンの内容を確認するには、Keycloak インターフェイスを使用できます。"Clients" に移動して "hawtio-client" を選択し、"Client scopes" タブと "Evaluate" サブタブを使用します。
次に "Users" フィールドで、たとえば "admin" を選択し、"Generated access token" をクリックします。次に、サンプルトークンを調査します。
{
"exp": 1709552728,
"iat": 1709552428,
"jti": "0f33971f-c4f7-4a5c-a240-c18ba3f97aa1",
"iss": "http://localhost:18080/realms/hawtio-demo",
"aud": "account",
"sub": "84d156fa-e4cc-4785-91c1-4e0bda4b8ed9",
"typ": "Bearer",
"azp": "hawtio-client",
"session_state": "181a30ac-fce1-4f4f-aaee-110304ccb0e6",
"acr": "1",
"allowed-origins":
[
"http://0.0.0.0:8181",
"http://localhost:8080",
"http://localhost:8181",
"http://0.0.0.0:10001",
"http://0.0.0.0:8080",
"http://localhost:10001",
"http://localhost:10000",
"http://0.0.0.0:10000"
],
"realm_access":
{
"roles":
[
"viewer",
"manager",
"admin",
"user"
]
},
"resource_access":
{
"account":
{
"roles":
[
"manage-account",
"manage-account-links",
"view-profile"
]
}
},
"scope": "openid profile email",
"sid": "181a30ac-fce1-4f4f-aaee-110304ccb0e6",
"email_verified": false,
"name": "Admin Red Hat buuld of HawtIO",
"preferred_username": "admin",
"given_name": "Admin",
"family_name": "Red Hat buuld of HawtIO",
"email": "admin@hawt.io"
}
JWT アクセストークンの構造がわかれば、ロールパスが正しく設定されているかどうかを確認できます。
# example for Keycloak with use-resource-role-mappings=false
oidc.rolesPath = realm_access.roles