- Введение
- Как использовать
- Кастомизация
- Поддерживаемые API
- Обнаружение атак
- Управление аутентификацией
- Сертификат атрибута клиента
- Первоначальный доступ клиента
- Политика регистрации клиентов
- Сопоставление ролей клиента
- Области клиента
- Клиенты
- Компонент
- Группы
- Поставщики удостоверений
- Ключ
- Сопоставители протоколов
- Администратор Realms
- Ролевой картограф
- Роли
- Роли (по идентификатору)
- Сопоставления областей действия
- Поставщик хранилища пользователей
- Пользователи
- Корень
Введение
Это PHP-клиент для подключения к API-интерфейсу администратора keycloak без головной боли.
Функции:
- Простота в использовании
- Нет необходимости получать токен или генерировать его — он уже обработан клиентом.
- Нет необходимости указывать какие-либо URL-адреса, кроме базового URI.
- Никакого кодирования/декодирования для json, только данные, как вы ожидаете
Работает с REST API администратора Keycloak 7.0+.
https://www.keycloak.org/documentation -> «Администрирование REST API»
Как использовать
1. Создать нового клиента
$ client = Keycloak Admin KeycloakClient:: factory ([
' realm ' => ' master ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
' client_id ' => ' admin-cli ' ,
' baseUri ' => ' http://127.0.0.1:8180 ' ,
]);
Начиная с версии 0.30, если ваш базовый URL-адрес Keycloak начинается с auth/
, добавьте его в baseUri
(например, http://127.0.0.1:8180/auth/). Базовый URL-адрес для версий Keycloak с 7 по 16 систематически имеет auth/
. На Keycloak 17+ это зависит от ваших настроек.
2. Используйте это
$ client -> getUsers ();
//Result
// Array of users
/*
[
[
"id" => "39839a9b-de08-4d2c-b91a-a6ce2595b1f3",
"createdTimestamp" => 1571663375749,
"username" => "admin",
"enabled" => true,
"totp" => false,
"emailVerified" => false,
"disableableCredentialTypes" => [
"password",
],
"requiredActions" => [],
"notBefore" => 0,
"access" => [
"manageGroupMembership" => true,
"view" => true,
"mapRoles" => true,
"impersonate" => true,
"manage" => true,
],
],
]
*/
$ client -> createUser ([
' username ' => ' test ' ,
' email ' => ' [email protected] ' ,
' enabled ' => true ,
' credentials ' => [
[
' type ' => ' password ' ,
' value ' => ' 1234 ' ,
],
],
]);
Кастомизация
Поддерживаемые учетные данные
Можно изменить тип учетных данных, используемых для аутентификации, изменив конфигурацию клиента keycloak.
В настоящее время поддерживаются следующие учетные данные
- учетные данные пароля, используются по умолчанию
- для аутентификации с помощью учетной записи пользователя
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' password ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
]);
- учетные данные клиента
- для аутентификации с помощью учетной записи службы клиента
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' client_credentials ' ,
' client_id ' => ' admin-cli ' ,
' client_secret ' => ' 84ab3d98-a0c3-44c7-b532-306f222ce1ff ' ,
]);
Внедрение промежуточного программного обеспечения
Можно внедрить промежуточное программное обеспечение клиента Guzzle в конфигурацию клиента keycloak, используя ключевое слово middlewares
.
Например:
use GuzzleHttp Middleware ;
use Psr Http Message RequestInterface ;
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' middlewares ' => [
// throws exceptions when request fails
Middleware:: httpErrors (),
// other custom middlewares
Middleware:: mapRequest ( function ( RequestInterface $ request ) {
return $ request ;
}),
],
]);
Изменение способа сохранения и хранения токена
По умолчанию токен сохраняется во время выполнения. Это означает, что предыдущий токен не используется при создании нового клиента.
Вы можете настроить способ хранения токена в конфигурации клиента, реализовав собственный TokenStorage
— интерфейс, который описывает, как токен хранится и извлекается.
class CustomTokenStorage implements TokenStorage
{
public function getToken ()
{
// TODO
}
public function saveToken ( array $ token )
{
// TODO
}
}
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' token_storage ' => new CustomTokenStorage (),
]);
Пользовательские конечные точки Keycloak
Можно внедрить операции службы Guzzle в конфигурацию клиента keycloak, используя ключевое слово custom_operations
. Таким образом, вы можете расширить встроенные поддерживаемые конечные точки с помощью пользовательских.
$ client = KeycloakClient:: factory ([
...
' custom_operations ' => [
' getUsersByAttribute ' => [
' uri ' => ' /auth/realms/{realm}/userapi-rest/users/search-by-attr ' ,
' description ' => ' Get users by attribute Returns a list of users, filtered according to query parameters ' ,
' httpMethod ' => ' GET ' ,
' parameters ' => [
' realm ' => [
' location ' => ' uri ' ,
' description ' => ' The Realm name ' ,
' type ' => ' string ' ,
' required ' => true ,
],
' attr ' => [
' location ' => ' query ' ,
' type ' => ' string ' ,
' required ' => true ,
],
' value ' => [
' location ' => ' query ' ,
' type ' => ' string ' ,
' required ' => true ,
],
],
],
]
]);
Поддерживаемые API
Обнаружение атак
API | Имя функции | Поддерживается |
---|
Удалите все ошибки входа в систему для всех пользователей. Это может освободить временно отключенных пользователей. | ОчиститьAllLoginFailures | ✔️ |
Получить статус имени пользователя при обнаружении грубой силы | getBruteForceUserStatus | ✔️ |
Устраните все ошибки входа пользователя в систему. Это может освободить временно отключенного пользователя. | ОчиститьUserLoginFailures | ✔️ |
Управление аутентификацией
API | Имя функции | Поддерживается |
---|
Получить поставщиков средств проверки подлинности. Возвращает список поставщиков средств проверки подлинности. | getAuthenticatorProviders | ✔️ |
Получить поставщиков средств проверки подлинности клиентов. Возвращает список поставщиков средств проверки подлинности клиентов. | getClientAuthenticatorProviders | ✔️ |
Получить описание конфигурации провайдера аутентификации | getAuthenticatorConfigInfo | ✔️ |
Получить конфигурацию аутентификатора | getAuthenticatorConfig | ✔️ |
Обновить конфигурацию аутентификатора | обновлениеAuthenticatorConfig | ✔️ |
Удалить конфигурацию аутентификатора | удалитьAuthenticatorConfig | ✔️ |
Добавить новое выполнение аутентификации | createAuthenticationExecution | ✔️ |
Получить одиночное исполнение | getAuthenticationExecution | ✔️ |
Удалить выполнение | удалениеAuthenticationExecution | ✔️ |
Обновить выполнение с новой конфигурацией | апдейтаутентификатионэкетион | ✔️ |
Пониженный приоритет выполнения | нижнийAuthenticationExecutionPriority | ✔️ |
Повысить приоритет выполнения | поднятьAuthenticationExecutionPriority | ✔️ |
Создайте новый поток аутентификации | createAuthenticationFlow | ✔️ |
Получить потоки аутентификации. Возвращает список потоков аутентификации. | getAuthenticationFlows | ✔️ |
Скопируйте существующий поток аутентификации под новым именем. Новое имя задается как атрибут «newName» переданного объекта JSON. | copyAuthenticationFlow | ✔️ |
Получить выполнения аутентификации для потока | getAuthenticationFlowExecutions | ✔️ |
Обновление выполнения аутентификации для потока | обновлениеAuthenticationFlowExecutions | ✔️ |
Добавить новое выполнение аутентификации в поток | createAuthenticationFlowExecution | ✔️ |
Добавить новый поток с новым выполнением к существующему потоку | добавитьаутентификатионфлоуэкзекутион | ✔️ |
Получить поток аутентификации для идентификатора | getAuthenticationFlow | ✔️ |
Обновить поток аутентификации для идентификатора | обновлениеAuthenticationFlow | ✔️ |
Удаление потока аутентификации | удалитьAuthenticationFlow | ✔️ |
Получить поставщиков действий формы. Возвращает список поставщиков действий формы. | getFormActionProviders | ✔️ |
Получить поставщиков форм. Возвращает список поставщиков форм. | getFormProviders | ✔️ |
Получить описания конфигурации для всех клиентов | getClientsConfigОписания | ✔️ |
Регистрация новых необходимых действий | createRequiredAction | ✔️ |
Получить необходимые действия Возвращает список необходимых действий. | getRequiredActions | ✔️ |
Получите необходимое действие для псевдонима | getAliasRequiredAction | ✔️ |
Обновить необходимое действие | ОбновлениеRequiredAction | ✔️ |
Удалить необходимое действие | удалитьRequiredAction | ✔️ |
Понизить приоритет необходимого действия | нижнийтребуредактионприорити | ✔️ |
Повысить приоритет необходимого действия | поднятьRequiredActionPriority | ✔️ |
Получить незарегистрированные обязательные действия. Возвращает список незарегистрированных обязательных действий. | getUnregisteredRequiredActions | ✔️ |
Сертификат атрибута клиента
API | Имя функции | Поддерживается |
---|
Получите ключевую информацию (попробуйте с помощью attr = "jwt.credential") | getClientKeyInfo | ✔️ |
Получите файл хранилища ключей для клиента, содержащий закрытый ключ и открытый сертификат (примечание: запишите содержимое ответа в файл). | getClientKeyStore | ✔️ |
Создайте новый сертификат с новой парой ключей. | генерироватьклиентсертификате | ✔️ |
Создать новую пару ключей и сертификат и получить файл закрытого ключа. Создает пару ключей и сертификат и передает закрытый ключ в указанном формате хранилища ключей. | генерироватьDownloadClientCertificate | ✔️ |
Загрузите сертификат и, возможно, закрытый ключ. | загрузитьClientCertificateAndPrivateKey | ✔️ |
Загрузите только сертификат, а не закрытый ключ | загрузитьClientCertificateOnly | ✔️ |
Первоначальный доступ клиента
API | Имя функции | Поддерживается |
---|
Создайте новый токен первоначального доступа. | создатьClientInitialAccessToken | ✔️ |
GET /{realm}/clients-initial-access | getClientInitialAccessTokens | ✔️ |
УДАЛИТЬ /{realm}/clients-initial-access/{id} | удалитьClientInitialAccessToken | ✔️ |
Политика регистрации клиентов
API | Имя функции | Поддерживается |
---|
Базовый путь для поставщиков получения с правильно заполненными configProperties. | getClientRegistrationPolicyProviders | ✔️ |
Сопоставление ролей клиента
API | Имя функции | Поддерживается |
---|
Добавьте роли уровня клиента в сопоставление ролей группы. | addGroupClientRoleMappings | ✔️ |
Получите сопоставления ролей на уровне клиента для группы и приложения. | getGroupClientRoleMappings | ✔️ |
Удаление ролей уровня клиента из сопоставления ролей группы | удалитьGroupClientRoleMappings | ✔️ |
Получите доступные роли уровня клиента, которые можно сопоставить с группой. | getAvailableGroupClientRoleMappings | ✔️ |
Получите эффективные сопоставления ролей на уровне клиента. Это рекурсивно выполняет любые составные роли для групп. | getGroupClientRoleMappingsWithComposite | ✔️ |
Добавьте роли уровня клиента в сопоставление ролей пользователя. | аддусерклиентролемапингс | ✔️ |
Получите сопоставления ролей на уровне клиента для пользователя и приложения. | getUserClientRoleMappings | ✔️ |
Удаление ролей уровня клиента из сопоставления ролей пользователей | deleteUserClientRoleMappings | ✔️ |
Получите доступные роли уровня клиента, которые можно сопоставить пользователю. | getAvailableUserClientRoleMappings | ✔️ |
Получите эффективные сопоставления ролей на уровне клиента. Это рекурсивно выполняет любые составные роли для пользователей. | getUserClientRoleMappingsWithComposite | ✔️ |
Области клиента
API | Имя функции | Поддерживается |
---|
Создайте новую область клиента. Имя области клиента должно быть уникальным! | СоздатьClientScope | ✔️ |
Получить области клиентов, принадлежащие области. Возвращает список областей клиентов, принадлежащих области. | getClientScopes | ✔️ |
Получить представление об области клиента | getClientScope | ✔️ |
Обновите область клиента | обновлениеClientScope | ✔️ |
Удалить область клиента | удалитьClientScope | ✔️ |
Клиенты
API | Имя функции | Поддерживается |
---|
Создайте нового клиента Client_id клиента должен быть уникальным! | создатьклиент | ✔️ |
Получить клиентов, принадлежащих к области. Возвращает список клиентов, принадлежащих к области. | получитьклиенты | ✔️ |
Получите представление о клиенте | getClient | ✔️ |
Обновить клиент | обновлениеКлиент | ✔️ |
Удалить клиента | удалитьклиент | ✔️ |
Создать новый секрет для клиента | генерироватьClientSecret | ✔️ |
Получить секрет клиента | getClientSecret | ✔️ |
Получите области клиента по умолчанию. | getClientDefaultScopes | ✔️ |
Установить область клиента в качестве области по умолчанию | setClientScopeAsDefault | ✔️ |
Удалить область клиента из областей по умолчанию | удалитьClientScopeAsDefault | ✔️ |
Создайте JSON с полезной нагрузкой примера токена доступа. | getClientExampleAccessToken | ✔️ |
Возвращаемый список всех преобразователей протоколов, который будет использоваться при генерации токенов, выданных для конкретного клиента. | getClientProtocolMappers | ✔️ |
Получите эффективное сопоставление области действия всех ролей конкретного ролевого контейнера, которые этому клиенту по умолчанию разрешено иметь в выданном для него токене доступа. | getClientAllowedRoleMappingsInContainer | ✔️ |
Получите роли, для которых этот клиент не имеет области и не может иметь их в выданном для него токене доступа. | getClientNotAllowedRoleMappingsInContainer | ✔️ |
Для создания конфигурации клиентского адаптера используется один из них (keycloak-oidc-keycloak-json, keycloak-oidc-jboss-subsystem-cli, keycloak-oidc-jboss-subsystem, keycloak-saml, keycloak-saml-subsystem-cli, keycloak-saml -подсистема) | getClientInstallationConfiguration | ✔️ |
Возвращаемый объект, указывающий, были ли инициализированы разрешения на авторизацию клиента или нет, и ссылку | getClientAuthorizationPermissionsStatus | ✔️ |
Обновить инициализацию разрешений авторизации клиента и ссылку | updateClientAuthorizationPermissionsStatus | ✔️ |
Зарегистрируйте узел кластера с клиентом. Вручную зарегистрируйте узел кластера для этого клиента — обычно нет необходимости вызывать это напрямую, поскольку адаптер должен справиться, отправив запрос на регистрацию в Keycloak. | регистрклиенткластерноде | ✔️ |
Отменить регистрацию узла кластера у клиента | отменить регистрациюClientClusterNode | ✔️ |
Получить количество автономных сеансов приложения. Возвращает количество автономных пользовательских сеансов, связанных с этим клиентом { "count": число } | getClientOfflineSessionsCount | ✔️ |
Получить автономные сеансы для клиента. Возвращает список автономных сеансов пользователя, связанных с этим клиентом. | getClientOfflineSessions | ✔️ |
Получите дополнительные клиентские области. | getClientOptionalScopes | ✔️ |
Назначьте дополнительную область клиента | AssignClientOptionalScope | ✔️ |
удалить дополнительное назначение области клиента | unassignClientOptionalScope | ✔️ |
Отправьте политику отзыва клиента на его URL-адрес администратора. Если у клиента есть URL-адрес администратора, отправьте на него политику отзыва. | pushClientRevocationPolicy | ✔️ |
Создайте новый токен доступа к регистрации для клиента. | генерироватьClientRegistrationToken | ✔️ |
Получить пользователя, выделенного для учетной записи службы | getServiceAccountDedicatedUser | ✔️ |
Получить количество сеансов приложения. Возвращает количество пользовательских сеансов, связанных с этим клиентом { "count": число } | getClientSessionsCount | ✔️ |
Проверка доступности зарегистрированных узлов кластера. Проверка доступности путем отправки запроса «ping» всем узлам кластера. | testClientNodesAvailability | ✔️ |
Получить сеансы пользователей для клиента. Возвращает список сеансов пользователей, связанных с этим клиентом. | getClientSessions | ✔️ |
Компонент
API | Имя функции | Поддерживается |
---|
Создать новый компонент | создатькомпонент | ✔️ |
Получить компоненты | получить компоненты | ✔️ |
Получить компонент | GetComponent | ✔️ |
Обновить компонент | ОбновлениеКомпонент | ✔️ |
Удалить компонент | удалитькомпонент | ✔️ |
Список типов субкомпонентов, которые доступны для настройки для определенного родительского компонента. | getComponentSubTypes | ✔️ |
Группы
API | Имя функции | Поддерживается |
---|
создать или добавить группу областей верхнего уровня. Установить или создать дочерний элемент. | создать группу | ✔️ |
Получите иерархию групп. | getGroups | ✔️ |
Возвращает количество групп. | getGroupsCount | ✔️ |
Получить группу | getGroup | ✔️ |
Получить группу детей (подгруппы) | getGroupChildren | ✔️ |
Обновить группу, игнорирует подгруппы. | группа обновлений | ✔️ |
Удалить группу | удалить группу | ✔️ |
Установите или создайте дочерний элемент. | Создать дочернюю группу | ✔️ |
Возвращаемый объект, указывающий, были ли инициализированы разрешения на авторизацию клиента или нет, и ссылку | getGroupManagementPermissions | ✔️ |
Возвращаемый объект, указывающий, были ли инициализированы разрешения на авторизацию клиента или нет, и ссылку | ОбновлениеGroupManagementPermissions | ✔️ |
Получить пользователей. Возвращает список пользователей, отфильтрованный по параметрам запроса. | getGroupMembers | ✔️ |
Поставщики удостоверений
API | Имя функции | Поддерживается |
---|
Импортировать поставщика удостоверений из загруженного файла JSON. | импортидентитипровидер | ✔️ |
Создайте нового поставщика удостоверений | создатьIdentityProvider | ✔️ |
Получить поставщиков удостоверений | getIdentityProviders | ✔️ |
Получить поставщика удостоверений | getIdentityProvider | ✔️ |
Обновите поставщика удостоверений | ОбновлениеИдентитиПровидер | ✔️ |
Удаление поставщика удостоверений | удалениеидентитипровидер | ✔️ |
Экспортировать конфигурацию общедоступного брокера для поставщика удостоверений. | экспортИдентитипровидерброкерконфиг | ✔️ |
Возвращаемый объект, указывающий, были ли инициализированы разрешения на авторизацию клиента или нет, и ссылку | getIdentityProviderManagementPermissions | ✔️ |
Возвращаемый объект, указывающий, были ли инициализированы разрешения на авторизацию клиента или нет, и ссылку | UpdateIdentityProviderManagementPermissions | ✔️ |
Получите типы картографов для поставщика удостоверений (Keycloak сообщает об исключении) | getIdentityProviderMapperTypes | ✔️ |
Добавьте сопоставитель к поставщику удостоверений | createIdentityProviderMapper | ✔️ |
Получить картографы для поставщика удостоверений | getIdentityProviderMappers | ✔️ |
Получить картограф по идентификатору для поставщика удостоверений | getIdentityProviderMapper | ✔️ |
Обновите сопоставитель для поставщика удостоверений (по какой-то причине он не работает, приводит к исключению нулевого указателя) | ОбновлениеИдентитиПровидерМаппер | ✔️ |
Удаление сопоставителя для поставщика удостоверений | удалитьIdentityProviderMapper | ✔️ |
Получить поставщиков удостоверений | getIdentityProviderById | ✔️ |
Ключ
API | Имя функции | Поддерживается |
---|
Получить ключи Realm | getRealmKeys | ✔️ |
Сопоставители протоколов
Примечание. Идентификаторы отправляются как clientScopeId или clientId и MapperId, все остальное соответствует документации keycloak.
API | Имя функции | Поддерживается |
---|
Создать несколько картографов | createClientScopeProtocolMappers | ✔️ |
Создать картограф | СоздатьClientScopeProtocolMapper | ✔️ |
Получить картографы | getClientScopeProtocolMappers | ✔️ |
Получить картограф по идентификатору | getClientScopeProtocolMapperById | ✔️ |
Обновите картограф | ОбновлениеClientScopeProtocolMapper | ✔️ |
Удалить картограф | удалитьClientScopeProtocolMapper | ✔️ |
Получить картографы по имени для определенного протокола | getClientScopeProtocolMappersByProtocolName | ✔️ |
Создать несколько картографов | createClientProtocolMappers | ✔️ |
Создать картограф | СоздатьClientProtocolMapper | ✔️ |
Получить картографы | getClientProtocolMappers | ✔️ |
Получить картограф по идентификатору | getClientProtocolMapperById | ✔️ |
Обновите картограф | апдейтклиентпротоколмаппер | ✔️ |
Удалить картограф | удалитьClientProtocolMapper | ✔️ |
Получить картографы по имени для определенного протокола | getClientProtocolMappersByProtocolName | ✔️ |
Администратор Realms
API | Имя функции | Поддерживается |
---|
Получить доступные области. Возвращает список доступных областей. Список фильтруется на основе того, какие области разрешено просматривать вызывающему абоненту. | getRealms | ✔️ |
Импортировать область Импортирует область из полного представления этой области. | importRealm | ✔️ |
Получите представление области верхнего уровня. Оно не будет включать вложенную информацию, такую как представления пользователя и клиента. | getRealm | ✔️ |
Обновите информацию верхнего уровня области. Любая информация о пользователе, роли или клиенте в представлении будет игнорироваться. | updateRealm | ✔️ |
Удалить область | удалитьRealm | ✔️ |
Получить события администратора. Возвращает все события администратора или фильтрует события на основе параметров URL-запроса, перечисленных здесь. | getAdminEvents | ✔️ |
Удалить все мероприятия администратора | удалитьAdminEvents | ✔️ |
Очистить кеш внешних открытых ключей (открытые ключи клиентов или поставщиков удостоверений) | ОчиститьExternalPublicKeysCache | ✔️ |
Очистить кэш области | ОчиститьРеалмКэш | ✔️ |
Очистить кеш пользователя | ОчиститьUserCache | ✔️ |
Базовый путь для импорта клиентов в эту область. | импортклиент | ✔️ |
Получить статистику сеанса клиента. Возвращает карту JSON. | getClientsSessionStats | ✔️ |
ПОЛУЧИТЬ /{realm}/credential-registrators | getCredentialRegistrators | ✔️ |
Получите области клиентов по умолчанию для области. | getDefaultClientScopes | ✔️ |
PUT /{realm}/default-default-client-scopes/{clientScopeId} | setScopeAsDefaultClientScope | ✔️ |
УДАЛИТЬ /{realm}/default-default-client-scopes/{clientScopeId} | unsetScopeAsDefaultClientScope | ✔️ |
Получите иерархию групп. | getDefaultGroupHierarchy | ✔️ |
PUT /{realm}/default-groups/{groupId} | SetGroupAsDefaultGroup | ✔️ |
УДАЛИТЬ /{realm}/default-groups/{groupId} | unsetGroupAsDefaultGroup | ✔️ |
Получите дополнительные области клиента области. | getOptionalClientScopes | ✔️ |
PUT /{realm}/default-optional-client-scopes/{clientScopeId} | setScopeAsOptionalClientScope | ✔️ |
УДАЛИТЬ /{realm}/default-optional-client-scopes/{clientScopeId} | unsetScopeAsOptionalClientScope | ✔️ |
Получить события Возвращает все события или фильтрует их на основе параметров URL-запроса, перечисленных здесь. | getAllEvents | ✔️ |
Удалить все события | удалитьAllEvents | ✔️ |
Получить конфигурацию поставщика событий. Возвращает объект JSON с конфигурацией поставщика событий. | getEventsConfig | ✔️ |
Обновить поставщика событий. Изменить поставщика событий и/или его конфигурацию. | обновлениеEventsConfig | ✔️ |
Получить группу пользователей по пути | getGroupByPath | ✔️ |
ПОЛУЧИТЬ /{область}/локализация | getLocalizationLocales | ✔️ |
POST /{область}/локализация/{локаль} | обновитьLocalizationTexts | ✔️ |
GET /{realm}/localization/{locale} | getLocalizationTexts | ✔️ |
УДАЛИТЬ /{область}/локализация/{локаль} | удалитьLocalizationTexts | ✔️ |
GET /{realm}/localization/{locale}/{key} | getLocalizationText | ✔️ |
PUT /{область}/локализация/{локаль}/{ключ} | сохранитьLocalizationText | ✔️ |
Удаляет все пользовательские сеансы. (Keycloak выдает исключение при его вызове) | выход из системыAllUsers | |
Частичный экспорт существующей области в файл JSON. | частичныйExportRealm | ✔️ |
Частичный импорт из файла JSON в существующую область. | частичныйImportRealm | ✔️ |
Отправьте политику отзыва области любому клиенту, с которым связан URL-адрес администратора. (Keycloak выдает исключение при его вызове) | pushRevocationPolicy | |
Удалить определенный сеанс пользователя. | отозвать сессию пользователя | ✔️ |
Проверить соединение LDAP | тестLDAPConnection | ✔️ |
Проверьте SMTP-соединение с текущим вошедшим в систему пользователем. | тестSMTPConnection | ✔️ |
Получите разрешения на управление пользователями | getUserManagementPermissions | ✔️ |
Обновить разрешения на управление пользователями | обновлениеUserManagementPermissions | ✔️ |
Ролевой картограф
API | Имя функции | Поддерживается |
---|
Получить сопоставления ролей | getGroupRoleMappings | ✔️ |
Добавьте в группу сопоставления ролей на уровне области. | добавитьглобалролестограуп | ✔️ |
Получение сопоставлений ролей на уровне области | getGroupRealmRoleMappings | ✔️ |
Удаление сопоставлений ролей на уровне области | удалитьGroupRealmRoleMappings | ✔️ |
Получите роли уровня области, которые можно сопоставить. | getAvailableGroupRealmRoleMappings | ✔️ |
Получите эффективные сопоставления ролей на уровне области. Это приведет к рекурсивному использованию всех составных ролей для получения результата. | getEffectiveGroupRealmRoleMappings | ✔️ |
Получить сопоставления ролей | getUserRoleMappings | ✔️ |
Добавьте пользователю сопоставления ролей на уровне области. | аддглобалролестоусер | ✔️ |
Получение сопоставлений ролей на уровне области | getUserRealmRoleMappings | ✔️ |
Удаление сопоставлений ролей на уровне области | удалитьUserRealmRoleMappings | ✔️ |
Получите роли уровня области, которые можно сопоставить. | getAvailableUserRealmRoleMappings | ✔️ |
Получите эффективные сопоставления ролей на уровне области. Это приведет к рекурсивному использованию всех составных ролей для получения результата. | getEffectiveUserRealmRoleMappings | ✔️ |
Роли
API | Имя функции | Поддерживается |
---|
Создайте новую роль для области или клиента (для конкретного клиента) | СоздатьКлиентРоле | ✔️ |
Получить все роли для области или клиента (для конкретного клиента) | getClientRoles | ✔️ |
Получить роль по имени (для конкретного клиента) | getClientRole | ✔️ |
Обновить роль по имени (зависит от клиента) | ОбновлениеКлиентРоле | ✔️ |
Удаление роли по имени (зависит от клиента) | удалитьClientRole | ✔️ |
Добавьте состав к роли (зависит от клиента) | добавитькомпозитеролетоклиентроле | ✔️ |
Получите составные части роли (для конкретного клиента) | getClientRoleCompositeRoles | ✔️ |
Удаление ролей из состава ролей (зависит от клиента) | удалитьКомпозитеРолеФромКлиентРоле | ✔️ |
Роли уровня приложения для указанного приложения для составной роли (зависит от клиента) | getClientRoleCompositeRolesForClient | ✔️ |
Получение ролей уровня области из составной роли (для конкретного клиента) | getClientRoleCompositeRolesForRealm | ✔️ |
Возвращаемый список групп с указанным именем роли (зависит от клиента) | getClientRoleGroups | ✔️ |
Возвращаемый объект, указывающий, были ли инициализированы разрешения авторизации роли или нет, и ссылку (зависит от клиента). | getClientRoleManagementPermissions | ✔️ |
Обновить объект, указывающий, были ли инициализированы разрешения авторизации роли или нет, а также ссылку (зависит от клиента) | апдейтклиентролеманажементпермиссионс | ✔️ |
Возвращаемый список пользователей с указанным именем роли (зависит от клиента) | getClientRoleUsers | ✔️ |
Создайте новую роль для области или клиента. | СоздатьRealmRole | ✔️ |
Получить все роли для области или клиента | getRealmRoles | ✔️ |
Получить роль по имени | getRealmRole | ✔️ |
Обновить роль по имени | обновлениеRealmRole | ✔️ |
Удаление роли по имени | удалитьRealmRole | ✔️ |
Добавьте композицию в роль | добавитькомпозитеролетореалмроле | ✔️ |
Получить композиты роли | getRealmRoleCompositeRoles | ✔️ |
Удаление ролей из композиции ролей | удалитьКомпозитеРолеФромРеалмРоле | ✔️ |
Роли уровня приложения для указанного приложения для составной роли. | getRealmRoleCompositeRolesForClient | ✔️ |
Получить роли уровня области из составной роли. | getRealmRoleCompositeRolesForRealm | ✔️ |
Возвращаемый список групп с указанным именем роли | getRealmRoleGroups | ✔️ |
Возвращаемый объект, указывающий, были ли инициализированы разрешения авторизации роли или нет, и ссылку | getRealmRoleManagementPermissions | ✔️ |
Обновить объект, указывающий, были ли инициализированы разрешения авторизации роли или нет, и ссылку | ОбновлениеRealmRoleManagementPermissions | ✔️ |
Возвращаемый список пользователей с указанным именем роли | getRealmRoleUsers | ✔️ |
Роли (по идентификатору)
API | Имя функции | Поддерживается |
---|
Получить представление конкретной роли | getRealmRoleById | ✔️ |
Обновить роль | ОбновлениеRealmRoleById | ✔️ |
Удалить роль | удалитьRealmRoleById | ✔️ |
Сделайте роль составной, связав несколько дочерних ролей. | addCompositeRoleToRealmRoleByRoleId | ✔️ |
Получить дочерние элементы роли Возвращает набор дочерних элементов роли, если роль является составной. | getRealmRoleCompositeRolesByRoleId | ✔️ |
Удаление набора ролей из композиции ролей | deleteCompositeRoleFromRealmRoleByRoleId | ✔️ |
Получите роли уровня клиента для клиента, входящего в составную роль. | getRealmRoleCompositeRolesForClientByRoleId | ✔️ |
Получите роли уровня области, входящие в состав роли. | getRealmRoleCompositeRolesForRealmByRoleId | ✔️ |
Возвращаемый объект, указывающий, были ли инициализированы разрешения авторизации роли или нет, и ссылку | getRealmRoleManagementPermissionsByRoleId | ✔️ |
Возвращаемый объект, указывающий, были ли инициализированы разрешения авторизации роли или нет, и ссылку | updateRealmRoleManagementPermissionsByRoleId | ✔️ |
Сопоставления областей действия
API | Имя функции | Поддерживается |
---|
Получить все сопоставления областей для клиента | | |
Добавьте роли уровня клиента в область действия клиента. | | |
Получить роли, связанные с областью действия клиента. Возвращает роли для клиента. | | |
Удалите роли уровня клиента из области действия клиента. | | |
Доступные роли на уровне клиента. Возвращает роли для клиента, которые могут быть связаны с областью действия клиента. | | |
Получить эффективные роли клиента. Возвращает роли клиента, связанные с областью клиента. | | |
Добавьте набор ролей уровня области в область действия клиента. | | |
Получите роли уровня области, связанные с областью действия клиента. | | |
Удалить набор ролей уровня области из области клиента. | | |
Получите роли уровня области, которые можно прикрепить к области этого клиента. | | |
Получение эффективных ролей уровня области, связанных с областью действия клиента. При этом рекурсивно обрабатываются все составные роли, связанные с областью действия клиента, и добавляются роли в эти списки. | | |
Получить все сопоставления областей для клиента | | |
Добавьте роли уровня клиента в область действия клиента. | | |
Получить роли, связанные с областью действия клиента. Возвращает роли для клиента. | | |
Удалите роли уровня клиента из области действия клиента. | | |
Доступные роли уровня клиента. Возвращает роли клиента, которые могут быть связаны с областью действия клиента. | | |
Получить эффективные роли клиента. Возвращает роли клиента, связанные с областью клиента. | | |
Добавьте набор ролей уровня области в область действия клиента. | | |
Получите роли уровня области, связанные с областью действия клиента. | | |
Удалить набор ролей уровня области из области клиента. | | |
Получите роли уровня области, которые можно прикрепить к области этого клиента. | | |
Получение эффективных ролей уровня области, связанных с областью действия клиента. При этом рекурсивно обрабатываются все составные роли, связанные с областью действия клиента, и добавляются роли в эти списки. | | |
Поставщик пользовательского хранилища
API | Имя функции | Поддерживается |
---|
Это необходимо для консоли администратора, чтобы отображать простое имя провайдера при отображении сведений о клиенте KEYCLOAK-4328. | | |
Это необходимо для консоли администратора, чтобы отображать простое имя провайдера при отображении сведений о пользователе KEYCLOAK-4328. | | |
Удалить импортированных пользователей | | |
Запустить синхронизацию пользователей. Действием может быть «triggerFullSync» или «triggerChangedUsersSync». | | |
Отсоединить импортированных пользователей от поставщика хранилища | | |
Триггер синхронизации данных сопоставителя, связанных с направлением сопоставителя ldap (ролей, групп и т. д.), — «fedToKeycloak» или «keycloakToFed». | | |
Пользователи
API | Имя функции | Поддерживается |
---|
Создайте нового пользователя. Имя пользователя должно быть уникальным. | создать пользователя | ✔️ |
Получить пользователей. Возвращает список пользователей, отфильтрованный по параметрам запроса. | getUsers | ✔️ |
ПОЛУЧИТЬ /{realm}/users/count | getUserCount | ✔️ |
Получить представление о пользователе | getUser | ️️️✔️ |
Обновить пользователя | обновлениепользователя | ️️️✔️ |
Удалить пользователя | удалитьпользователя | ️️️✔️ |
Получить согласия, предоставленные пользователем | | ️✔️ |
Отозвать согласие и автономные токены для конкретного клиента у пользователя | | |
Отключить все учетные данные для пользователя определенного типа | | |
Отправка пользователю электронного письма с обновлением учетной записи. Электронное письмо содержит ссылку, по которой пользователь может щелкнуть, чтобы выполнить набор необходимых действий. | выполнитьActionsEmail | ✔️ |
Получить социальные логины, связанные с пользователем | | ✔️ |
Добавление поставщика входа через социальную сеть для пользователя | | ✔️ |
Удалить поставщика услуг входа через социальную сеть у пользователя | | ✔️ |
ПОЛУЧИТЬ /{realm}/users/{id}/groups | GetUserGroups | ✔️ |
GET /{realm}/users/{id}/groups/count | GetUserGroupsCount | ✔️ |
PUT /{realm}/users/{id}/groups/{groupId} | добавитьUserToGroup | ✔️ |
УДАЛИТЬ /{realm}/users/{id}/groups/{groupId} | удалитьПользовательИзГруппы | ✔️ |
Выдавать себя за пользователя | олицетворять пользователя | ✔️ |
Удалите все пользовательские сеансы, связанные с пользователем. Также отправьте уведомление всем клиентам, у которых есть URL-адрес администратора, чтобы сделать сеансы для конкретного пользователя недействительными. | выход из системыПользователь | ✔️ |
Получайте автономные сеансы, связанные с пользователем и клиентом. | | |
Удалить TOTP у пользователя | | |
Установите новый пароль для пользователя. | сброс пароля пользователя | ✔️ |
Отправьте пользователю электронное письмо с подтверждением электронной почты. Электронное письмо содержит ссылку, по которой пользователь может щелкнуть, чтобы подтвердить свой адрес электронной почты. | sendVerifyEmail | ✔️ |
Получить сеансы, связанные с пользователем | getUserSessions | ✔️ |
Получить учетные данные, связанные с пользователем | getUserCredentials | ✔️ |
Удалить учетные данные, связанные с пользователем | удалитьUserCredential | ✔️ |
Корень
API | Имя функции | Поддерживается |
---|
Получите темы, поставщиков социальных сетей, поставщиков аутентификации и прослушивателей событий, доступных на этом сервере. | | |
CORS предполетная подготовка | | |