Разблокировка пользователей через Admin REST API

При многократных неудачных попытках пользователей (например, в случае брутфорс-атак) продукт предоставляет возможность разблокировать пользователей через Admin REST API Keycloak.

Выполнить такую разблокировку можно только при условии, что для клиента задана конфигурация, предоставляющая доступ к API разблокировки пользователя.

Алгоритм разблокировки пользователя через API Keycloak

  1. Убедитесь, что пользователь заблокирован одним из следующих способов:

    • в разделе Users пользовательского интерфейса — в списке пользователей напротив соответствующего пользователя должна быть указана метка блокировки;

      Пример 1 — постоянная блокировка:

      user disabled

      Пример 2 — временная блокировка:

      user temporarily locked
    • через вызов метода (пример запроса):

      GET \{kc-host}/admin/realms/\{realm-name}/users
  1. Отправьте запрос на разблокировку пользователя посредством REST API (пример запроса):

    PUT \{kc-host}/admin/realms/\{realm-name}/users/\{user-id}
  1. Убедитесь, что пользователь разблокирован (используйте принцип, описанный в п. 1). Разблокированному пользователю соответствует значение атрибута enabled: true.

В случае временной блокировки пользователя из-за брутфорс-атаки, REST API не возвращает информацию о блокировке для данного пользователя (возвращается значение enabled: true). Чтобы убедиться, что пользователь заблокирован временно, вызовите метод API:

GET {kc-host}/admin/realms/{realm-name}/attack-detection/brute-force/users/{user-id}

Запрос на указанный выше метод возвращает информацию по атаке и значение атрибута disabled: true. При этом для мгновенной разблокировки такого пользователя по-прежнему будет действовать такой же формат запроса, как указан в п. 2.