- Introducción
- como usar
- Personalización
- API compatibles
- Detección de ataques
- Gestión de autenticación
- Certificado de atributos del cliente
- Acceso inicial del cliente
- Política de registro de clientes
- Asignaciones de roles de cliente
- Alcances del cliente
- Clientela
- Componente
- Grupos
- Proveedores de identidad
- Llave
- Mapeadores de protocolos
- Administrador de reinos
- Mapeador de roles
- Roles
- Roles (por ID)
- Mapeos de alcance
- Proveedor de almacenamiento de usuario
- Usuarios
- Raíz
Introducción
Este es un cliente PHP para conectarse a las API de descanso del administrador de Keycloak sin dolor de cabeza.
Características:
- Fácil de usar
- No es necesario obtener el token ni generarlo: ya lo maneja el cliente.
- No es necesario especificar ninguna URL que no sea la URI base.
- No codificar/decodificar para json solo datos como esperas
Funciona con la API REST de administración de Keycloak 7.0+.
https://www.keycloak.org/documentation -> "API REST de administración"
como usar
1. Crear nuevo cliente
$ client = Keycloak Admin KeycloakClient:: factory ([
' realm ' => ' master ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
' client_id ' => ' admin-cli ' ,
' baseUri ' => ' http://127.0.0.1:8180 ' ,
]);
Desde la versión 0.30, si la URL base de Keycloak comienza con auth/
, agréguela a baseUri
(por ejemplo, http://127.0.0.1:8180/auth/). La URL base para las versiones 7 a 16 de Keycloak tiene sistemáticamente auth/
. En Keycloak 17+ depende de su configuración.
2. Úsalo
$ 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 ' ,
],
],
]);
Personalización
Credenciales admitidas
Es posible cambiar el tipo de credencial utilizada para autenticar cambiando la configuración del cliente keycloak.
Actualmente, se admiten las siguientes credenciales
- credenciales de contraseña, utilizadas de forma predeterminada
- para autenticarse con una cuenta de usuario
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' password ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
]);
- credenciales del cliente
- para autenticarse con una cuenta de servicio al cliente
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' client_credentials ' ,
' client_id ' => ' admin-cli ' ,
' client_secret ' => ' 84ab3d98-a0c3-44c7-b532-306f222ce1ff ' ,
]);
Inyectando middleware
Es posible inyectar middleware del cliente Guzzle en la configuración del cliente keycloak utilizando la palabra clave middlewares
.
Por ejemplo:
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 ;
}),
],
]);
Cambiar cómo se guarda y almacena el token
De forma predeterminada, el token se guarda en tiempo de ejecución. Esto significa que el token anterior no se utiliza al crear un nuevo cliente.
Puede personalizar cómo se almacena el token en la configuración del cliente implementando su propio TokenStorage
, una interfaz que describe cómo se almacena y recupera el token.
class CustomTokenStorage implements TokenStorage
{
public function getToken ()
{
// TODO
}
public function saveToken ( array $ token )
{
// TODO
}
}
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' token_storage ' => new CustomTokenStorage (),
]);
Puntos finales de capa de claves personalizados
Es posible inyectar operaciones de servicio Guzzle en la configuración del cliente keycloak usando la palabra clave custom_operations
. De esta manera, puede ampliar los puntos finales compatibles integrados con opciones personalizadas.
$ 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 compatibles
Detección de ataques
API | Nombre de la función | Apoyado |
---|
Borre cualquier error de inicio de sesión de usuario para todos los usuarios. Esto puede liberar a los usuarios deshabilitados temporalmente. | borrar todos los errores de inicio de sesión | ✔️ |
Obtener el estado de un nombre de usuario en la detección de fuerza bruta | obtenerBruteForceUserStatus | ✔️ |
Borre cualquier error de inicio de sesión del usuario. Esto puede liberar al usuario deshabilitado temporalmente. | borrar errores de inicio de sesión de usuario | ✔️ |
Gestión de autenticación
API | Nombre de la función | Apoyado |
---|
Obtener proveedores de autenticadores Devuelve una lista de proveedores de autenticadores. | getAuthenticatorProveedores | ✔️ |
Obtener proveedores de autenticadores de clientes Devuelve una lista de proveedores de autenticadores de clientes. | getClientAuthenticatorProveedores | ✔️ |
Obtener la descripción de la configuración del proveedor del autenticador | getAuthenticatorConfigInfo | ✔️ |
Obtener configuración del autenticador | getAuthenticatorConfig | ✔️ |
Actualizar la configuración del autenticador | actualizarAuthenticatorConfig | ✔️ |
Eliminar la configuración del autenticador | eliminarAuthenticatorConfig | ✔️ |
Agregar nueva ejecución de autenticación | crearAuthenticationExecution | ✔️ |
Obtener ejecución única | getAuthenticationExecution | ✔️ |
Eliminar ejecución | eliminarAutenticaciónEjecución | ✔️ |
Ejecución de actualización con nueva configuración. | actualizarAutenticaciónEjecución | ✔️ |
Menor prioridad de ejecución | LowerAuthenticationExecutionPriority | ✔️ |
Aumentar la prioridad de ejecución | elevarAutenticaciónEjecuciónPrioridad | ✔️ |
Crear un nuevo flujo de autenticación | crear flujo de autenticación | ✔️ |
Obtener flujos de autenticación Devuelve una lista de flujos de autenticación. | obtener flujos de autenticación | ✔️ |
Copie el flujo de autenticación existente con un nuevo nombre. El nuevo nombre se proporciona como atributo 'newName' del objeto JSON pasado. | copiar flujo de autenticación | ✔️ |
Obtener ejecuciones de autenticación para un flujo | getAuthenticationFlowEjecuciones | ✔️ |
Actualizar ejecuciones de autenticación para un flujo | actualizarAuthenticationFlowExecutions | ✔️ |
Agregar nueva ejecución de autenticación a un flujo | crearAuthenticationFlowExecution | ✔️ |
Agregar nuevo flujo con nueva ejecución al flujo existente | agregarAuthenticationFlowExecution | ✔️ |
Obtener flujo de autenticación para identificación | obtener flujo de autenticación | ✔️ |
Actualizar el flujo de autenticación para la identificación | actualizarAuthenticationFlow | ✔️ |
Eliminar un flujo de autenticación | eliminar flujo de autenticación | ✔️ |
Obtener proveedores de acciones de formulario Devuelve una lista de proveedores de acciones de formulario. | getFormActionProviders | ✔️ |
Obtener proveedores de formularios Devuelve una lista de proveedores de formularios. | obtener proveedores de formularios | ✔️ |
Obtener descripciones de configuración para todos los clientes | getClientsConfigDescriptions | ✔️ |
Registrar nuevas acciones requeridas | crearAcciónRequerida | ✔️ |
Obtener acciones requeridas Devuelve una lista de acciones requeridas. | obtener acciones requeridas | ✔️ |
Obtener la acción requerida para el alias | getAliasRequiredAction | ✔️ |
Actualizar la acción requerida | actualizaciónRequiredAction | ✔️ |
Eliminar la acción requerida | eliminarAcciónRequerida | ✔️ |
Reducir la prioridad de la acción requerida | Prioridad de acción requerida inferior | ✔️ |
Aumentar la prioridad de la acción requerida | aumentarPrioridad de acción requerida | ✔️ |
Obtener acciones requeridas no registradas Devuelve una lista de acciones requeridas no registradas. | getUnregisteredRequiredActions | ✔️ |
Certificado de atributos del cliente
API | Nombre de la función | Apoyado |
---|
Obtenga información clave (pruebe con attr = "jwt.credential") | obtener información de clave de cliente | ✔️ |
Obtenga un archivo de almacén de claves para el cliente, que contiene una clave privada y un certificado público (nota: escriba el contenido de la respuesta en un archivo) | getClientKeyStore | ✔️ |
Generar un nuevo certificado con un nuevo par de claves | generarCertificadoCliente | ✔️ |
Genere un nuevo par de claves y un certificado y obtenga el archivo de clave privada. Genera un par de claves y un certificado y entrega la clave privada en un formato de almacén de claves específico. | generarDescargarCertificadoCliente | ✔️ |
Cargar certificado y eventualmente clave privada | cargar certificado de cliente y clave privada | ✔️ |
Cargue solo el certificado, no la clave privada | cargarClientCertificateOnly | ✔️ |
Acceso inicial del cliente
API | Nombre de la función | Apoyado |
---|
Cree un nuevo token de acceso inicial. | crearClientInitialAccessToken | ✔️ |
OBTENER /{reino}/acceso-inicial-clientes | obtenerTokens de acceso inicial de cliente | ✔️ |
ELIMINAR /{reino}/clientes-acceso-inicial/{id} | eliminarClientInitialAccessToken | ✔️ |
Política de registro de clientes
API | Nombre de la función | Apoyado |
---|
Ruta base para recuperar proveedores con las propiedades de configuración correctamente completadas | getClientRegistrationPolicyProviders | ✔️ |
Asignaciones de roles de cliente
API | Nombre de la función | Apoyado |
---|
Agregar roles a nivel de cliente a la asignación de roles de grupo | addGroupClientRoleMappings | ✔️ |
Obtenga asignaciones de roles a nivel de cliente para el grupo y la aplicación | getGroupClientRoleMappings | ✔️ |
Eliminar roles a nivel de cliente de la asignación de roles de grupo | eliminarGroupClientRoleMappings | ✔️ |
Obtenga roles disponibles a nivel de cliente que se pueden asignar al grupo | getAvailableGroupClientRoleMappings | ✔️ |
Obtenga asignaciones efectivas de roles a nivel de cliente. Esto recurre a cualquier rol compuesto para grupos. | getGroupClientRoleMappingsWithComposite | ✔️ |
Agregar roles a nivel de cliente a la asignación de roles de usuario | agregarUserClientRoleMappings | ✔️ |
Obtenga asignaciones de roles a nivel de cliente para el usuario y la aplicación | getUserClientRoleMappings | ✔️ |
Eliminar roles a nivel de cliente de la asignación de roles de usuario | eliminarUserClientRoleMappings | ✔️ |
Obtenga roles disponibles a nivel de cliente que se pueden asignar al usuario | getAvailableUserClientRoleMappings | ✔️ |
Obtenga asignaciones efectivas de roles a nivel de cliente. Esto recurre a cualquier rol compuesto para los usuarios. | getUserClientRoleMappingsWithComposite | ✔️ |
Alcances del cliente
API | Nombre de la función | Apoyado |
---|
Crear un nuevo ámbito de cliente. ¡El nombre del ámbito de cliente debe ser único! | crearClientScope | ✔️ |
Obtener ámbitos de clientes que pertenecen al ámbito. Devuelve una lista de ámbitos de clientes que pertenecen al ámbito. | obtenerClientScopes | ✔️ |
Obtener representación del alcance del cliente | obtenerClientScope | ✔️ |
Actualizar el alcance del cliente | actualizarClientScope | ✔️ |
Eliminar el alcance del cliente | eliminarClientScope | ✔️ |
Clientela
API | Nombre de la función | Apoyado |
---|
Crear un nuevo cliente ¡El client_id del cliente debe ser único! | crearCliente | ✔️ |
Obtener clientes que pertenecen al dominio Devuelve una lista de clientes que pertenecen al dominio | obtenerClientes | ✔️ |
Obtener representación del cliente. | obtenerCliente | ✔️ |
Actualizar el cliente | actualizarCliente | ✔️ |
Eliminar el cliente | eliminarCliente | ✔️ |
Generar un nuevo secreto para el cliente. | generarClienteSecreto | ✔️ |
Obtener el secreto del cliente | obtenerClientSecret | ✔️ |
Obtenga ámbitos de cliente predeterminados. | getClientDefaultScopes | ✔️ |
Establecer el alcance del cliente como alcance predeterminado | establecerClientScopeAsDefault | ✔️ |
Eliminar el alcance del cliente de los alcances predeterminados | eliminarClientScopeAsDefault | ✔️ |
Cree JSON con la carga útil del token de acceso de ejemplo | getClientExampleAccessToken | ✔️ |
Lista de retorno de todos los asignadores de protocolos, que se utilizarán al generar tokens emitidos para un cliente en particular. | getClientProtocolMapeadores | ✔️ |
Obtenga un mapeo de alcance efectivo de todos los roles de un contenedor de roles particular, que este cliente puede tener de facto en el token de acceso emitido para él. | getClientAllowedRoleMappingsInContainer | ✔️ |
Obtenga roles para los cuales este cliente no tiene alcance y no puede tenerlos en el token de acceso emitido para él. | getClientNotAllowedRoleMappingsInContainer | ✔️ |
Generar la configuración del adaptador de cliente toma uno de estos (keycloak-oidc-keycloak-json, keycloak-oidc-jboss-subsystem-cli, keycloak-oidc-jboss-subsystem, keycloak-saml, keycloak-saml-subsystem-cli, keycloak-saml -subsistema) | getClientInstallationConfiguración | ✔️ |
Objeto de devolución que indica si los permisos de autorización del cliente se han inicializado o no y una referencia | getClientAuthorizationPermissionsStatus | ✔️ |
Actualizar la inicialización de permisos de autorización del cliente y una referencia | actualizarClientAuthorizationPermissionsStatus | ✔️ |
Registre un nodo del clúster con el cliente. Registre manualmente el nodo del clúster en este cliente; normalmente no es necesario llamar a esto directamente, ya que el adaptador debe manejarlo enviando la solicitud de registro a Keycloak. | registrarClientClusterNode | ✔️ |
Dar de baja un nodo de clúster del cliente | cancelar el registroClientClusterNode | ✔️ |
Obtener el recuento de sesiones sin conexión de la aplicación Devuelve un número de sesiones de usuario sin conexión asociadas con este cliente { "count": número } | getClientOfflineSessionsCount | ✔️ |
Obtener sesiones sin conexión para el cliente Devuelve una lista de sesiones de usuarios sin conexión asociadas con este cliente | getClientOfflineSessions | ✔️ |
Obtenga ámbitos de cliente opcionales. | getClientOptionalScopes | ✔️ |
Asignar alcance opcional al cliente | asignarClientOptionalScope | ✔️ |
eliminar la asignación de alcance opcional del cliente | desasignarClientOptionalScope | ✔️ |
Inserte la política de revocación del cliente en su URL de administrador. Si el cliente tiene una URL de administrador, envíele la política de revocación. | pushClientRevocationPolicy | ✔️ |
Generar un nuevo token de acceso de registro para el cliente | generarClientRegistrationToken | ✔️ |
Obtener un usuario dedicado a la cuenta de servicio | getServiceAccountDedicatedUser | ✔️ |
Obtener recuento de sesiones de aplicación Devuelve un número de sesiones de usuario asociadas con este cliente { "count": número } | getClientSessionsCount | ✔️ |
Pruebe si los nodos del clúster registrados están disponibles. Pruebe la disponibilidad enviando una solicitud de 'ping' a todos los nodos del clúster. | testClientNodesDisponibilidad | ✔️ |
Obtener sesiones de usuario para el cliente Devuelve una lista de sesiones de usuario asociadas con este cliente | obtener sesiones de cliente | ✔️ |
Componente
API | Nombre de la función | Apoyado |
---|
Crear nuevo componente | crear componente | ✔️ |
Obtener componentes | obtener componentes | ✔️ |
Obtener componente | obtener componente | ✔️ |
Componente de actualización | actualizarComponente | ✔️ |
Eliminar componente | eliminar componente | ✔️ |
Lista de tipos de subcomponentes que están disponibles para configurar para un componente principal en particular. | getComponentSubTypes | ✔️ |
Grupos
API | Nombre de la función | Apoyado |
---|
cree o agregue un grupo de dominio de nivel superior o cree un niño. | creargrupo | ✔️ |
Obtener jerarquía de grupo. | obtener grupos | ✔️ |
Devuelve los recuentos de grupos. | getGroupsCount | ✔️ |
Obtener grupo | obtener grupo | ✔️ |
Obtener niños de grupo (subgrupos) | obtenerGrupoNiños | ✔️ |
Actualizar grupo, ignora los subgrupos. | actualizarGrupo | ✔️ |
Eliminar grupo | eliminar grupo | ✔️ |
Establecer o crear un niño. | creargrupohijo | ✔️ |
Objeto de devolución que indica si los permisos de autorización del cliente se han inicializado o no y una referencia | obtener permisos de gestión de grupo | ✔️ |
Objeto de devolución que indica si los permisos de autorización del cliente se han inicializado o no y una referencia | actualizar permisos de gestión de grupo | ✔️ |
Obtener usuarios Devuelve una lista de usuarios, filtrados según los parámetros de consulta. | obtener miembros del grupo | ✔️ |
Proveedores de identidad
API | Nombre de la función | Apoyado |
---|
Importar proveedor de identidad desde el archivo JSON cargado | importIdentityProvider | ✔️ |
Crear un nuevo proveedor de identidad | crear proveedor de identidad | ✔️ |
Obtener proveedores de identidad | obtener proveedores de identidad | ✔️ |
Obtener el proveedor de identidad | getIdentityProvider | ✔️ |
Actualizar el proveedor de identidad | actualizarIdentityProvider | ✔️ |
Eliminar el proveedor de identidad | eliminarIdentityProvider | ✔️ |
Exportar la configuración del agente público para el proveedor de identidad | exportIdentityProviderBrokerConfig | ✔️ |
Objeto de devolución que indica si los permisos de autorización del cliente se han inicializado o no y una referencia | getIdentityProviderManagementPermisos | ✔️ |
Objeto de devolución que indica si los permisos de autorización del cliente se han inicializado o no y una referencia | actualizarIdentityProviderManagementPermissions | ✔️ |
Obtenga tipos de mapeadores para el proveedor de identidad (Keycloak informa de excepciones) | getIdentityProviderMapperTypes | ✔️ |
Agregar un asignador al proveedor de identidad | crearIdentityProviderMapper | ✔️ |
Obtener mapeadores para proveedor de identidad | getIdentityProviderMapeadores | ✔️ |
Obtener mapeador por identificación para el proveedor de identidad | getIdentityProviderMapper | ✔️ |
Actualice un asignador para el proveedor de identidad (no funciona por algún motivo, genera una excepción de puntero nulo) | actualizarIdentityProviderMapper | ✔️ |
Eliminar un asignador para el proveedor de identidad | eliminarIdentityProviderMapper | ✔️ |
Obtener proveedores de identidad | getIdentityProviderById | ✔️ |
Llave
API | Nombre de la función | Apoyado |
---|
Obtener claves de reino | obtenerRealmKeys | ✔️ |
Mapeadores de protocolos
Nota: Los ID se envían como clientScopeId o clientId y mapperId; todo lo demás es como la documentación de la capa de claves.
API | Nombre de la función | Apoyado |
---|
Crear múltiples mapeadores | crearClientScopeProtocolMappers | ✔️ |
Crear un mapeador | crearClientScopeProtocolMapper | ✔️ |
Obtener mapeadores | getClientScopeProtocolMapeadores | ✔️ |
Obtener mapeador por id | getClientScopeProtocolMapperById | ✔️ |
Actualizar el mapeador | actualizarClientScopeProtocolMapper | ✔️ |
Eliminar el mapeador | eliminarClientScopeProtocolMapper | ✔️ |
Obtener mapeadores por nombre para un protocolo específico | getClientScopeProtocolMappersByProtocolName | ✔️ |
Crear múltiples mapeadores | crearClientProtocolMappers | ✔️ |
Crear un mapeador | crearClientProtocolMapper | ✔️ |
Obtener mapeadores | getClientProtocolMapeadores | ✔️ |
Obtener mapeador por id | getClientProtocolMapperById | ✔️ |
Actualizar el mapeador | actualizarClientProtocolMapper | ✔️ |
Eliminar el mapeador | eliminarClientProtocolMapper | ✔️ |
Obtener mapeadores por nombre para un protocolo específico | getClientProtocolMappersByProtocolName | ✔️ |
Administrador de reinos
API | Nombre de la función | Apoyado |
---|
Obtener dominios accesibles Devuelve una lista de dominios accesibles. La lista se filtra según los dominios que la persona que llama puede ver. | obtenerReinos | ✔️ |
Importar un dominio Importa un dominio desde una representación completa de ese dominio. | importarReino | ✔️ |
Obtenga la representación de nivel superior del dominio. No incluirá información anidada como representaciones de Usuario y Cliente. | obtenerReino | ✔️ |
Actualice la información de nivel superior del dominio. Se ignorará cualquier usuario, rol o información de cliente en la representación. | actualizarReino | ✔️ |
Eliminar el reino | eliminarReino | ✔️ |
Obtener eventos de administrador Devuelve todos los eventos de administrador o filtra eventos según los parámetros de consulta de URL enumerados aquí | obtenerAdminEvents | ✔️ |
Eliminar todos los eventos de administración | eliminarAdminEvents | ✔️ |
Borrar caché de claves públicas externas (Claves públicas de clientes o proveedores de identidad) | borrar caché de claves públicas externas | ✔️ |
Borrar caché de reino | borrarRealmCache | ✔️ |
Borrar caché de usuario | borrar UserCache | ✔️ |
Ruta base para importar clientes en este ámbito. | importarCliente | ✔️ |
Obtener estadísticas de sesión del cliente Devuelve un mapa JSON. | getClientsSessionStats | ✔️ |
OBTENER /{reino}/registradores-credenciales | getCredentialRegistradores | ✔️ |
Obtenga ámbitos de cliente predeterminados del reino. | getDefaultClientScopes | ✔️ |
PUT /{realm}/default-default-client-scopes/{clientScopeId} | setScopeAsDefaultClientScope | ✔️ |
BORRAR /{reino}/default-default-client-scopes/{clientScopeId} | unsetScopeAsDefaultClientScope | ✔️ |
Obtener jerarquía de grupo. | getDefaultGroupJerarchy | ✔️ |
PUT /{reino}/default-groups/{groupId} | establecerGroupAsDefaultGroup | ✔️ |
ELIMINAR /{reino}/grupos-predeterminados/{groupId} | unsetGroupAsDefaultGroup | ✔️ |
Obtenga ámbitos de cliente opcionales de reino. | getOptionalClientScopes | ✔️ |
PUT /{realm}/default-optional-client-scopes/{clientScopeId} | setScopeAsOptionalClientScope | ✔️ |
ELIMINAR /{reino}/ámbitos-de-cliente-opcionales-predeterminados/{clientScopeId} | unsetScopeAsOptionalClientScope | ✔️ |
Obtener eventos Devuelve todos los eventos o los filtra según los parámetros de consulta de URL enumerados aquí | obtener todos los eventos | ✔️ |
Eliminar todos los eventos | eliminar todos los eventos | ✔️ |
Obtener la configuración del proveedor de eventos. Devuelve un objeto JSON con la configuración del proveedor de eventos. | obtenerEventsConfig | ✔️ |
Actualizar el proveedor de eventos Cambiar el proveedor de eventos y/o su configuración | actualizarEventsConfig | ✔️ |
Obtener grupo de usuarios por ruta | obtenerGrupoPorRuta | ✔️ |
OBTENER /{reino}/localización | getLocalizationLocales | ✔️ |
POST /{reino}/localización/{locale} | actualizarLocalizaciónTextos | ✔️ |
OBTENER /{reino}/localización/{locale} | getLocalizationTexts | ✔️ |
BORRAR /{reino}/localización/{locale} | eliminar textos de localización | ✔️ |
OBTENER /{reino}/localización/{locale}/{clave} | getLocalizationText | ✔️ |
PUT /{reino}/localización/{locale}/{clave} | guardarLocalizaciónTexto | ✔️ |
Elimina todas las sesiones de usuario. (Keycloak lanza una excepción cuando se llama a este) | cerrar sesiónTodos los usuarios | |
Exportación parcial del dominio existente a un archivo JSON. | reinodeexportaciónparcial | ✔️ |
Importación parcial desde un archivo JSON a un dominio existente. | parcialImportRealm | ✔️ |
Envíe la política de revocación del dominio a cualquier cliente que tenga una URL de administrador asociada. (Keycloak lanza una excepción cuando se llama a este) | pushRevocaciónPolítica | |
Eliminar una sesión de usuario específica. | revocar sesión de usuario | ✔️ |
Probar la conexión LDAP | pruebaLDAPConexión | ✔️ |
Pruebe la conexión SMTP con el usuario que ha iniciado sesión actualmente | pruebaSMTPConexión | ✔️ |
Obtener permisos de gestión de usuarios | obtener permisos de gestión de usuarios | ✔️ |
Actualizar permisos de administración de usuarios | actualizarUserManagementPermissions | ✔️ |
Mapeador de roles
API | Nombre de la función | Apoyado |
---|
Obtener asignaciones de roles | getGroupRoleMappings | ✔️ |
Agregar asignaciones de roles a nivel de dominio al grupo | agregar roles globales al grupo | ✔️ |
Obtenga asignaciones de roles a nivel de dominio | getGroupRealmRoleMappings | ✔️ |
Eliminar asignaciones de roles a nivel de dominio | eliminarGroupRealmRoleMappings | ✔️ |
Obtenga roles a nivel de reino que se puedan asignar | getAvailableGroupRealmRoleMappings | ✔️ |
Obtenga asignaciones de roles efectivas a nivel de dominio. Esto recurrirá a todos los roles compuestos para obtener el resultado. | getEffectiveGroupRealmRoleMappings | ✔️ |
Obtener asignaciones de roles | getUserRoleMappings | ✔️ |
Agregar asignaciones de roles a nivel de dominio al usuario | agregar roles globales al usuario | ✔️ |
Obtenga asignaciones de roles a nivel de dominio | getUserRealmRoleMappings | ✔️ |
Eliminar asignaciones de roles a nivel de dominio | eliminarUserRealmRoleMappings | ✔️ |
Obtenga roles a nivel de reino que se puedan asignar | getAvailableUserRealmRoleMappings | ✔️ |
Obtenga asignaciones de roles efectivas a nivel de dominio. Esto recurrirá a todos los roles compuestos para obtener el resultado. | getEffectiveUserRealmRoleMappings | ✔️ |
Roles
API | Nombre de la función | Apoyado |
---|
Crear un nuevo rol para el dominio o cliente (específico del cliente) | crearClientRole | ✔️ |
Obtener todos los roles para el dominio o cliente (específico del cliente) | obtener roles de cliente | ✔️ |
Obtener un rol por nombre (específico del cliente) | getClientRole | ✔️ |
Actualizar un rol por nombre (específico del cliente) | actualizarClientRole | ✔️ |
Eliminar una función por nombre (específico del cliente) | eliminarClientRole | ✔️ |
Agregar un compuesto al rol (específico del cliente) | agregarCompositeRoleToClientRole | ✔️ |
Obtener compuestos del rol (específico del cliente) | getClientRoleCompositeRoles | ✔️ |
Eliminar roles del conjunto de roles (específico del cliente) | eliminarCompositeRoleFromClientRole | ✔️ |
Roles a nivel de aplicación para la aplicación especificada para el compuesto del rol (específico del cliente) | getClientRoleCompositeRolesForClient | ✔️ |
Obtener roles a nivel de dominio del compuesto del rol (específico del cliente) | getClientRoleCompositeRolesForRealm | ✔️ |
Lista de devolución de grupos que tienen el nombre de función especificado (específico del cliente) | getClientRoleGroups | ✔️ |
Objeto de devolución que indica si los permisos de autorización de rol se han inicializado o no y una referencia (específica del cliente) | getClientRoleManagementPermisos | ✔️ |
Objeto de actualización que indica si los permisos de autorización de roles se han inicializado o no y una referencia (específica del cliente) | actualizarClientRoleManagementPermissions | ✔️ |
Lista de devolución de usuarios que tienen el nombre de función especificado (específico del cliente) | getClientRoleUsuarios | ✔️ |
Crear un nuevo rol para el dominio o cliente | crearReinoRole | ✔️ |
Obtener todos los roles para el reino o cliente | getRealmRoles | ✔️ |
Obtener un rol por nombre | getRealmRole | ✔️ |
Actualizar un rol por nombre | actualizarRealmRole | ✔️ |
Eliminar un rol por nombre | eliminarRealmRole | ✔️ |
Agregar un compuesto al rol | agregarCompositeRoleToRealmRole | ✔️ |
Obtener compuestos del rol | getRealmRoleCompositeRoles | ✔️ |
Eliminar roles del compuesto del rol | eliminarCompositeRoleFromRealmRole | ✔️ |
Roles a nivel de aplicación para la aplicación especificada para el compuesto del rol | getRealmRoleCompositeRolesForClient | ✔️ |
Obtener roles a nivel de dominio del compuesto del rol | getRealmRoleCompositeRolesForRealm | ✔️ |
Lista de retorno de grupos que tienen el nombre de función especificado | getRealmRoleGroups | ✔️ |
Objeto de devolución que indica si los permisos de autorización de rol se han inicializado o no y una referencia | getRealmRoleManagementPermisos | ✔️ |
Objeto de actualización que indica si los permisos de autorización de roles se han inicializado o no y una referencia | actualizarRealmRoleManagementPermissions | ✔️ |
Lista de retorno de usuarios que tienen el nombre de rol especificado | getRealmRoleUsuarios | ✔️ |
Roles (por ID)
API | Nombre de la función | Apoyado |
---|
Obtener la representación de un rol específico | obtenerRealmRoleById | ✔️ |
Actualizar el rol | actualizarRealmRoleById | ✔️ |
Eliminar el rol | eliminarRealmRoleById | ✔️ |
Haga que el rol sea un rol compuesto asociando algunos roles secundarios | agregarCompositeRoleToRealmRoleByRoleId | ✔️ |
Obtener los hijos del rol Devuelve un conjunto de hijos del rol siempre que el rol sea compuesto. | getRealmRoleCompositeRolesByRoleId | ✔️ |
Eliminar un conjunto de roles del compuesto del rol | eliminarCompositeRoleFromRealmRoleByRoleId | ✔️ |
Obtener roles a nivel de cliente para el cliente que están en el compuesto del rol | getRealmRoleCompositeRolesForClientByRoleId | ✔️ |
Obtener roles a nivel de dominio que están en el compuesto del rol | getRealmRoleCompositeRolesForRealmByRoleId | ✔️ |
Objeto de retorno que indica si los permisos de autorización de rol se han inicializado o no y una referencia | getRealmRoleManagementPermissionsByRoleId | ✔️ |
Objeto de retorno que indica si los permisos de autorización de rol se han inicializado o no y una referencia | actualizarRealmRoleManagementPermissionsByRoleId | ✔️ |
Mapeos de alcance
API | Nombre de la función | Apoyado |
---|
Obtener todas las asignaciones de alcance para el cliente | | |
Agregar roles a nivel de cliente al alcance del cliente | | |
Obtener los roles asociados con el alcance de un cliente. Devuelve roles para el cliente. | | |
Elimine los roles a nivel de cliente del alcance del cliente. | | |
Los roles disponibles a nivel de cliente Devuelve los roles para el cliente que se pueden asociar con el alcance del cliente. | | |
Obtener roles de cliente efectivos Devuelve los roles para el cliente asociados con el alcance del cliente. | | |
Agregar un conjunto de roles a nivel de dominio al alcance del cliente | | |
Obtener roles a nivel de dominio asociados con el alcance del cliente | | |
Eliminar un conjunto de roles a nivel de dominio del alcance del cliente | | |
Obtenga roles a nivel de dominio que están disponibles para adjuntar al alcance de este cliente | | |
Obtener roles efectivos a nivel de dominio asociados con el alcance del cliente. Lo que esto hace es recurrir a cualquier rol compuesto asociado con el alcance del cliente y agregar los roles a estas listas. | | |
Obtener todas las asignaciones de alcance para el cliente | | |
Agregar roles a nivel de cliente al alcance del cliente | | |
Obtener los roles asociados con el alcance de un cliente. Devuelve roles para el cliente. | | |
Elimine los roles a nivel de cliente del alcance del cliente. | | |
Los roles disponibles a nivel de cliente Devuelve los roles para el cliente que se pueden asociar con el alcance del cliente. | | |
Obtener roles de cliente efectivos Devuelve los roles para el cliente asociados con el alcance del cliente. | | |
Agregar un conjunto de roles a nivel de dominio al alcance del cliente | | |
Obtener roles a nivel de dominio asociados con el alcance del cliente | | |
Eliminar un conjunto de roles a nivel de dominio del alcance del cliente | | |
Obtenga roles a nivel de dominio que están disponibles para adjuntar al alcance de este cliente | | |
Obtener roles efectivos a nivel de dominio asociados con el alcance del cliente. Lo que esto hace es recurrir a cualquier rol compuesto asociado con el alcance del cliente y agregar los roles a estas listas. | | |
Proveedor de almacenamiento de usuarios
API | Nombre de la función | Apoyado |
---|
Necesita esto para que la consola de administración muestre el nombre simple del proveedor al mostrar los detalles del cliente KEYCLOAK-4328 | | |
Necesita esto para que la consola de administración muestre el nombre simple del proveedor al mostrar los detalles del usuario KEYCLOAK-4328 | | |
Eliminar usuarios importados | | |
Activar sincronización de usuarios La acción puede ser "triggerFullSync" o "triggerChangedUsersSync" | | |
Desvincular usuarios importados de un proveedor de almacenamiento | | |
La sincronización del activador de los datos del asignador relacionados con la dirección del asignador ldap (roles, grupos,...) es "fedToKeycloak" o "keycloakToFed" | | |
Usuarios
API | Nombre de la función | Apoyado |
---|
Crear un nuevo usuario El nombre de usuario debe ser único. | crear usuario | ✔️ |
Obtener usuarios Devuelve una lista de usuarios, filtrados según los parámetros de consulta. | obtener usuarios | ✔️ |
OBTENER /{reino}/usuarios/count | getUserCount | ✔️ |
Obtener representación del usuario | obtener usuario | ️️️✔️ |
Actualizar el usuario | actualizarUsuario | ️️️✔️ |
Eliminar el usuario | eliminar usuario | ️️️✔️ |
Obtener consentimientos otorgados por el usuario | | ️✔️ |
Revocar el consentimiento y los tokens fuera de línea para un cliente en particular del usuario | | |
Deshabilitar todas las credenciales para un usuario de un tipo específico | | |
Enviar un correo electrónico de actualización de la cuenta al usuario. Un correo electrónico contiene un enlace en el que el usuario puede hacer clic para realizar un conjunto de acciones requeridas. | ejecutarAccionesCorreo electrónico | ✔️ |
Obtener inicios de sesión sociales asociados con el usuario | | ✔️ |
Agregar un proveedor de inicio de sesión social al usuario | | ✔️ |
Eliminar un proveedor de inicio de sesión social del usuario | | ✔️ |
OBTENER /{reino}/usuarios/{id}/grupos | obtener grupos de usuarios | ✔️ |
OBTENER /{realm}/users/{id}/groups/count | getUserGroupsCount | ✔️ |
PUT /{reino}/usuarios/{id}/groups/{groupId} | agregarUsuarioAlGrupo | ✔️ |
ELIMINAR /{reino}/usuarios/{id}/groups/{groupId} | eliminar usuario del grupo | ✔️ |
Suplantar al usuario | suplantarUsuario | ✔️ |
Elimine todas las sesiones de usuario asociadas con el usuario. También envíe notificaciones a todos los clientes que tengan una URL de administrador para invalidar las sesiones de un usuario en particular. | cerrar sesiónUsuario | ✔️ |
Obtener sesiones sin conexión asociadas con el usuario y el cliente | | |
Eliminar TOTP del usuario | | |
Configure una nueva contraseña para el usuario. | restablecer contraseña de usuario | ✔️ |
Enviar un correo electrónico de verificación por correo electrónico al usuario. Un correo electrónico contiene un enlace en el que el usuario puede hacer clic para verificar su dirección de correo electrónico. | enviarVerificarCorreo electrónico | ✔️ |
Obtener sesiones asociadas con el usuario. | obtener sesiones de usuario | ✔️ |
Obtener credenciales asociadas con el usuario | obtener credenciales de usuario | ✔️ |
Eliminar credencial asociada al usuario | eliminarUserCredential | ✔️ |
Raíz
API | Nombre de la función | Apoyado |
---|
Obtenga temas, proveedores sociales, proveedores de autenticación y detectores de eventos disponibles en este servidor | | |
verificación previa de CORS | | |