(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Keycloak/RHBK】ユーザのアカウントロックをAdminAPIで行う

スポンサーリンク

やりたいこと

Red Hat build of Keycloak(Keycloakの商用版)にて任意のユーザのアカウントロック(アカウントの無効化)を取得する。

環境情報
  • Red Hat Enterprise Linux : 9.3 (Plow)
  • rhbk-22.0.8

やり方

ユーザのIDをURIに付与した状態でenabledtrueからfalseに変更する。

$ curl --location --request PUT 'http://localhost:8080/admin/realms/master/users/'"$id"'' --header 'Content-Type: application/json' --header "Authorization: Bearer $AT" --data-raw '{"enabled":"false"}'

尚、ユーザのIDは以下のようなjqコマンドで取得が可能。

$ curl -k -X GET http://localhost:8080/admin/realms/master/users -H "Authorization: Bearer "$AT | jq -r '.[] | select(.username == "'"$username"'") | .id'

以下、補足です。

補足

GUIでは管理コンソールから「Enabled」「Disabled」と操作ができる同項目ですが、Admin APIを利用して変更することもできます。元に戻す場合はfalseをtrueとします。

GUIではワンクリックでロック/解除ができる

ちなみにアカウントロック状態で正しいユーザ名/パスワードを入れると

Account is disabled, contact your administrator.

という専用のメッセージが表示されます。

尚、アカウントロック状態でもパスワードが誤っている場合はユーザに通知をせずに以下のようなメッセージが表示されます。

Invalid username or password.

以上。