- Introdução
- Como usar
- Personalização
- APIs suportadas
- Detecção de Ataque
- Gerenciamento de autenticação
- Certificado de Atributo do Cliente
- Acesso inicial do cliente
- Política de Cadastro de Clientes
- Mapeamentos de funções do cliente
- Escopos do cliente
- Clientes
- Componente
- Grupos
- Provedores de identidade
- Chave
- Mapeadores de protocolo
- Administrador de reinos
- Mapeador de funções
- Funções
- Funções (por ID)
- Mapeamentos de escopo
- Provedor de armazenamento de usuário
- Usuários
- Raiz
Introdução
Este é um cliente php para conectar-se às APIs de descanso do administrador do keycloak sem dor de cabeça.
Características:
- Fácil de usar
- Não há necessidade de obter token ou gerá-lo - ele já é gerenciado pelo cliente
- Não há necessidade de especificar nenhum URL além do uri base
- Sem codificação/decodificação para json, apenas dados conforme o esperado
Funciona com API REST de administrador Keycloak 7.0+.
https://www.keycloak.org/documentation -> "API REST de administração"
Como usar
1. Crie um novo cliente
$ client = Keycloak Admin KeycloakClient:: factory ([
' realm ' => ' master ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
' client_id ' => ' admin-cli ' ,
' baseUri ' => ' http://127.0.0.1:8180 ' ,
]);
Desde a versão 0.30, se o URL base do Keycloak começar com auth/
, adicione-o ao baseUri
(por exemplo, http://127.0.0.1:8180/auth/). URL base para versões 7 a 16 do Keycloak tem sistematicamente auth/
. No Keycloak 17+, depende das suas configurações.
2. Use-o
$ 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 ' ,
],
],
]);
Personalização
Credenciais suportadas
É possível alterar o tipo de credencial utilizada para autenticação alterando a configuração do cliente keycloak.
Atualmente, as seguintes credenciais são suportadas
- credenciais de senha, usadas por padrão
- para autenticar com uma conta de usuário
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' password ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
]);
- credenciais do cliente
- para autenticar com uma conta de serviço do cliente
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' client_credentials ' ,
' client_id ' => ' admin-cli ' ,
' client_secret ' => ' 84ab3d98-a0c3-44c7-b532-306f222ce1ff ' ,
]);
Injetando middleware
É possível injetar o middleware do cliente Guzzle na configuração do cliente keycloak usando a palavra-chave middlewares
.
Por exemplo:
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 ;
}),
],
]);
Alterando a forma como o token é salvo e armazenado
Por padrão, o token é salvo em tempo de execução. Isso significa que o token anterior não é usado ao criar um novo cliente.
Você pode personalizar como o token é armazenado na configuração do cliente implementando seu próprio TokenStorage
, uma interface que descreve como o token é armazenado e recuperado.
class CustomTokenStorage implements TokenStorage
{
public function getToken ()
{
// TODO
}
public function saveToken ( array $ token )
{
// TODO
}
}
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' token_storage ' => new CustomTokenStorage (),
]);
Terminais Keycloak personalizados
É possível injetar Guzzle Service Operations na configuração do cliente keycloak usando a palavra-chave custom_operations
. Dessa forma, você pode estender os endpoints suportados integrados com custom.
$ 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 ,
],
],
],
]
]);
APIs suportadas
Detecção de Ataque
API | Nome da Função | Suportado |
---|
Limpar quaisquer falhas de login de todos os usuários Isto pode liberar usuários desabilitados temporariamente | limparAllLoginFailures | ✔️ |
Obtenha o status de um nome de usuário na detecção de força bruta | getBruteForceUserStatus | ✔️ |
Limpar quaisquer falhas de login do usuário Isto pode liberar o usuário desabilitado temporariamente | clearUserLoginFailures | ✔️ |
Gerenciamento de autenticação
API | Nome da Função | Suportado |
---|
Obter provedores de autenticadores Retorna uma lista de provedores de autenticadores. | getAuthenticatorProviders | ✔️ |
Obter provedores de autenticadores de cliente Retorna uma lista de provedores de autenticadores de cliente. | getClientAuthenticatorProviders | ✔️ |
Obtenha a descrição da configuração do provedor do autenticador | getAuthenticatorConfigInfo | ✔️ |
Obtenha a configuração do autenticador | getAuthenticatorConfig | ✔️ |
Atualizar configuração do autenticador | updateAuthenticatorConfig | ✔️ |
Excluir configuração do autenticador | deleteAuthenticatorConfig | ✔️ |
Adicionar nova execução de autenticação | createAuthenticationExecution | ✔️ |
Obtenha execução única | getAuthenticationExecution | ✔️ |
Excluir execução | deleteAuthenticationExecution | ✔️ |
Atualizar execução com nova configuração | atualizaçãoAuthenticationExecution | ✔️ |
Menor prioridade de execução | lowerAuthenticationExecutionPriority | ✔️ |
Aumente a prioridade da execução | raiseAuthenticationExecutionPriority | ✔️ |
Crie um novo fluxo de autenticação | criarAuthenticationFlow | ✔️ |
Obter fluxos de autenticação Retorna uma lista de fluxos de autenticação. | getAuthenticationFlows | ✔️ |
Copiar o fluxo de autenticação existente com um novo nome O novo nome é fornecido como atributo 'newName' do objeto JSON passado | copiarAuthenticationFlow | ✔️ |
Obtenha execuções de autenticação para um fluxo | getAuthenticationFlowExecutions | ✔️ |
Atualizar execuções de autenticação para um fluxo | atualizaçãoAuthenticationFlowExecutions | ✔️ |
Adicionar nova execução de autenticação a um fluxo | createAuthenticationFlowExecution | ✔️ |
Adicionar novo fluxo com nova execução ao fluxo existente | addAuthenticationFlowExecution | ✔️ |
Obtenha fluxo de autenticação para id | getAuthenticationFlow | ✔️ |
Atualizar fluxo de autenticação para id | atualizaçãoAuthenticationFlow | ✔️ |
Excluir um fluxo de autenticação | excluirAuthenticationFlow | ✔️ |
Obter provedores de ações de formulário Retorna uma lista de provedores de ações de formulário. | getFormActionProviders | ✔️ |
Obter provedores de formulário Retorna uma lista de provedores de formulário. | getFormProviders | ✔️ |
Obtenha descrições de configuração para todos os clientes | getClientsConfigDescriptions | ✔️ |
Registre uma nova ação necessária | createRequiredAction | ✔️ |
Obter ações necessárias Retorna uma lista de ações necessárias. | getRequiredActions | ✔️ |
Obtenha a ação necessária para o alias | getAliasRequiredAction | ✔️ |
Atualizar ação necessária | atualizarRequiredAction | ✔️ |
Excluir ação necessária | deleteRequiredAction | ✔️ |
Menor prioridade da ação necessária | lowerRequiredActionPriority | ✔️ |
Aumentar a prioridade da ação necessária | raiseRequiredActionPriority | ✔️ |
Obter ações obrigatórias não registradas Retorna uma lista de ações obrigatórias não registradas. | getUnregisteredRequiredActions | ✔️ |
Certificado de Atributo do Cliente
API | Nome da Função | Suportado |
---|
Obtenha informações importantes (tente com attr = "jwt.credential") | getClientKeyInfo | ✔️ |
Obtenha um arquivo keystore para o cliente, contendo chave privada e certificado público (nota: grave o conteúdo da resposta em um arquivo) | getClientKeyStore | ✔️ |
Gere um novo certificado com novo par de chaves | gerarClientCertificate | ✔️ |
Gere um novo par de chaves e certificado e obtenha o arquivo de chave privada. Gera um par de chaves e um certificado e fornece a chave privada em um formato de armazenamento de chaves especificado. | gerarDownloadClientCertificate | ✔️ |
Carregar certificado e eventualmente chave privada | uploadClientCertificateAndPrivateKey | ✔️ |
Carregue apenas o certificado, não a chave privada | uploadClientCertificateOnly | ✔️ |
Acesso inicial do cliente
API | Nome da Função | Suportado |
---|
Crie um novo token de acesso inicial. | createClientInitialAccessToken | ✔️ |
GET /{realm}/clients-initial-access | getClientInitialAccessTokens | ✔️ |
DELETE /{realm}/clients-initial-access/{id} | deleteClientInitialAccessToken | ✔️ |
Política de Cadastro de Clientes
API | Nome da Função | Suportado |
---|
Caminho base para provedores de recuperação com configProperties preenchidos corretamente | getClientRegistrationPolicyProviders | ✔️ |
Mapeamentos de funções do cliente
API | Nome da Função | Suportado |
---|
Adicione funções de nível de cliente ao mapeamento de funções de grupo | addGroupClientRoleMappings | ✔️ |
Obtenha mapeamentos de funções no nível do cliente para o grupo e o aplicativo | getGroupClientRoleMappings | ✔️ |
Excluir funções de nível de cliente do mapeamento de funções de grupo | deleteGroupClientRoleMappings | ✔️ |
Obtenha funções disponíveis no nível do cliente que podem ser mapeadas para o grupo | getAvailableGroupClientRoleMappings | ✔️ |
Obtenha mapeamentos eficazes de funções no nível do cliente Isso recorre a quaisquer funções compostas para grupos | getGroupClientRoleMappingsWithComposite | ✔️ |
Adicione funções de nível de cliente ao mapeamento de funções de usuário | addUserClientRoleMappings | ✔️ |
Obtenha mapeamentos de funções no nível do cliente para o usuário e o aplicativo | getUserClientRoleMappings | ✔️ |
Excluir funções de nível de cliente do mapeamento de funções de usuário | deleteUserClientRoleMappings | ✔️ |
Obtenha funções disponíveis no nível do cliente que podem ser mapeadas para o usuário | getAvailableUserClientRoleMappings | ✔️ |
Obtenha mapeamentos eficazes de funções no nível do cliente Isso recorre a quaisquer funções compostas para usuários | getUserClientRoleMappingsWithComposite | ✔️ |
Escopos do cliente
API | Nome da Função | Suportado |
---|
Crie um novo escopo de cliente O nome do escopo do cliente deve ser exclusivo! | criarClientScope | ✔️ |
Obter escopos de clientes pertencentes ao domínio Retorna uma lista de escopos de clientes pertencentes ao domínio | getClientScopes | ✔️ |
Obtenha representação do escopo do cliente | getClientScope | ✔️ |
Atualizar o escopo do cliente | atualizarClientScope | ✔️ |
Exclua o escopo do cliente | deletarClientScope | ✔️ |
Clientes
API | Nome da Função | Suportado |
---|
Crie um novo cliente O client_id do cliente deve ser único! | criarCliente | ✔️ |
Obter clientes pertencentes ao realm Retorna uma lista de clientes pertencentes ao realm | getClientes | ✔️ |
Obtenha representação do cliente | getCliente | ✔️ |
Atualizar o cliente | atualizarCliente | ✔️ |
Exclua o cliente | deletarCliente | ✔️ |
Gere um novo segredo para o cliente | gerarClientSecret | ✔️ |
Obtenha o segredo do cliente | getClientSecret | ✔️ |
Obtenha escopos de cliente padrão. | getClientDefaultScopes | ✔️ |
Definir escopo do cliente como escopo padrão | setClientScopeAsDefault | ✔️ |
Remover escopo do cliente dos escopos padrão | removeClientScopeAsDefault | ✔️ |
Crie JSON com carga útil de exemplo de token de acesso | getClientExampleAccessToken | ✔️ |
Lista de retorno de todos os mapeadores de protocolo, que serão usados ao gerar tokens emitidos para um cliente específico. | getClientProtocolMappers | ✔️ |
Obtenha um mapeamento de escopo eficaz de todas as funções de um contêiner de função específico, que este cliente pode ter no accessToken emitido para ele. | getClientAllowedRoleMappingsInContainer | ✔️ |
Obtenha funções para as quais este cliente não tem escopo e não pode tê-las no accessToken emitido para ele. | getClientNotAllowedRoleMappingsInContainer | ✔️ |
Gerar configuração do adaptador cliente leva um destes (keycloak-oidc-keycloak-json, keycloak-oidc-jboss-subsystem-cli, keycloak-oidc-jboss-subsystem, keycloak-saml, keycloak-saml-subsystem-cli, keycloak-saml -subsistema) | getClientInstallationConfiguration | ✔️ |
Objeto de retorno informando se as permissões de autorização do cliente foram inicializadas ou não e uma referência | getClientAuthorizationPermissionsStatus | ✔️ |
Atualizar a inicialização das permissões de autorização do cliente e uma referência | updateClientAuthorizationPermissionsStatus | ✔️ |
Registre um nó de cluster com o cliente Registre manualmente o nó de cluster neste cliente - geralmente não é necessário chamar isso diretamente, pois o adaptador deve tratar enviando uma solicitação de registro para o Keycloak | registrarClientClusterNode | ✔️ |
Cancelar o registro de um nó de cluster do cliente | cancelar registroClientClusterNode | ✔️ |
Obter contagem de sessões offline do aplicativo Retorna um número de sessões de usuário offline associadas a este cliente { "count": number } | getClientOfflineSessionsCount | ✔️ |
Obter sessões offline para o cliente Retorna uma lista de sessões de usuários offline associadas a este cliente | getClientOfflineSessions | ✔️ |
Obtenha escopos de cliente opcionais. | getClientOptionalScopes | ✔️ |
Atribuir escopo opcional do cliente | atribuirClientOptionalScope | ✔️ |
remover atribuição de escopo opcional do cliente | cancelar a atribuiçãoClientOptionalScope | ✔️ |
Envie a política de revogação do cliente para sua URL administrativa. Se o cliente tiver uma URL administrativa, envie a política de revogação para ela. | pushClientRevocationPolicy | ✔️ |
Gere um novo token de acesso de registro para o cliente | gerarClientRegistrationToken | ✔️ |
Obtenha um usuário dedicado à conta de serviço | getServiceAccountDedicatedUser | ✔️ |
Obter contagem de sessões do aplicativo Retorna um número de sessões de usuário associadas a este cliente { "count": number } | getClientSessionsCount | ✔️ |
Testar se os nós do cluster registrados estão disponíveis Testa a disponibilidade enviando uma solicitação de 'ping' para todos os nós do cluster. | testClientNodesAvailability | ✔️ |
Obter sessões de usuário para o cliente Retorna uma lista de sessões de usuário associadas a este cliente | getClientSessions | ✔️ |
Componente
API | Nome da Função | Suportado |
---|
Criar novo componente | criarComponent | ✔️ |
Obtenha componentes | getComponents | ✔️ |
Obter componente | getComponent | ✔️ |
Componente de atualização | atualizarComponent | ✔️ |
Excluir componente | excluirComponent | ✔️ |
Lista de tipos de subcomponentes que estão disponíveis para configuração para um componente pai específico. | getComponentSubTypes | ✔️ |
Grupos
API | Nome da Função | Suportado |
---|
crie ou adicione um grupo de domínio de nível superior ou crie um filho. | criarGrupo | ✔️ |
Obtenha hierarquia de grupo. | getGroups | ✔️ |
Retorna as contagens dos grupos. | getGroupsCount | ✔️ |
Obter grupo | getGrupo | ✔️ |
Obter filhos do grupo (subgrupos) | getGroupChildren | ✔️ |
Atualizar grupo, ignora subgrupos. | grupo de atualização | ✔️ |
Excluir grupo | removerGrupo | ✔️ |
Definir ou criar filho. | criarGrupoCriança | ✔️ |
Objeto de retorno informando se as permissões de autorização do cliente foram inicializadas ou não e uma referência | getGroupManagementPermissions | ✔️ |
Objeto de retorno informando se as permissões de autorização do cliente foram inicializadas ou não e uma referência | atualizarGroupManagementPermissions | ✔️ |
Obter usuários Retorna uma lista de usuários, filtrada de acordo com parâmetros de consulta | getGroupMembers | ✔️ |
Provedores de identidade
API | Nome da Função | Suportado |
---|
Importar provedor de identidade do arquivo JSON carregado | importIdentityProvider | ✔️ |
Crie um novo provedor de identidade | criarIdentityProvider | ✔️ |
Obtenha provedores de identidade | getIdentityProviders | ✔️ |
Obtenha o provedor de identidade | getIdentityProvider | ✔️ |
Atualizar o provedor de identidade | atualizarIdentityProvider | ✔️ |
Exclua o provedor de identidade | excluirIdentityProvider | ✔️ |
Exportar configuração do agente público para provedor de identidade | exportIdentityProviderBrokerConfig | ✔️ |
Objeto de retorno informando se as permissões de autorização do cliente foram inicializadas ou não e uma referência | getIdentityProviderManagementPermissions | ✔️ |
Objeto de retorno informando se as permissões de autorização do cliente foram inicializadas ou não e uma referência | updateIdentityProviderManagementPermissions | ✔️ |
Obtenha tipos de mapeadores para provedor de identidade (Keycloak fornece relatório de exceção) | getIdentityProviderMapperTypes | ✔️ |
Adicione um mapeador ao provedor de identidade | createIdentityProviderMapper | ✔️ |
Obtenha mapeadores para provedor de identidade | getIdentityProviderMappers | ✔️ |
Obtenha o mapeador por ID para o provedor de identidade | getIdentityProviderMapper | ✔️ |
Atualizar um mapeador para o provedor de identidade (não funcionar por algum motivo gera uma exceção de ponteiro nulo) | updateIdentityProviderMapper | ✔️ |
Excluir um mapeador para o provedor de identidade | deleteIdentityProviderMapper | ✔️ |
Obtenha provedores de identidade | getIdentityProviderById | ✔️ |
Chave
API | Nome da Função | Suportado |
---|
Obtenha as chaves do reino | getRealmKeys | ✔️ |
Mapeadores de protocolo
Nota: os Ids são enviados como clientScopeId ou clientId e mapperId, todo o resto é igual à documentação do keycloak
API | Nome da Função | Suportado |
---|
Crie vários mapeadores | createClientScopeProtocolMappers | ✔️ |
Crie um mapeador | createClientScopeProtocolMapper | ✔️ |
Obtenha mapeadores | getClientScopeProtocolMappers | ✔️ |
Obtenha o mapeador por ID | getClientScopeProtocolMapperById | ✔️ |
Atualizar o mapeador | updateClientScopeProtocolMapper | ✔️ |
Exclua o mapeador | deleteClientScopeProtocolMapper | ✔️ |
Obtenha mapeadores por nome para um protocolo específico | getClientScopeProtocolMappersByProtocolName | ✔️ |
Crie vários mapeadores | createClientProtocolMappers | ✔️ |
Crie um mapeador | createClientProtocolMapper | ✔️ |
Obtenha mapeadores | getClientProtocolMappers | ✔️ |
Obtenha o mapeador por ID | getClientProtocolMapperById | ✔️ |
Atualizar o mapeador | updateClientProtocolMapper | ✔️ |
Exclua o mapeador | deleteClientProtocolMapper | ✔️ |
Obtenha mapeadores por nome para um protocolo específico | getClientProtocolMappersByProtocolName | ✔️ |
Administrador de reinos
API | Nome da Função | Suportado |
---|
Obter regiões acessíveis Retorna uma lista de regiões acessíveis. A lista é filtrada com base nas regiões que o chamador tem permissão para visualizar. | getRealms | ✔️ |
Importar uma região Importa uma região de uma representação completa dessa região. | importRealm | ✔️ |
Obtenha a representação de nível superior do domínio. Não incluirá informações aninhadas como representações de usuário e cliente. | getRealm | ✔️ |
Atualizar as informações de nível superior da região Qualquer informação de usuário, função ou cliente na representação será ignorada. | atualizarRealm | ✔️ |
Excluir o reino | excluirRealm | ✔️ |
Obter eventos administrativos Retorna todos os eventos administrativos ou filtra eventos com base nos parâmetros de consulta de URL listados aqui | getAdminEvents | ✔️ |
Exclua todos os eventos administrativos | deletarAdminEvents | ✔️ |
Limpar cache de chaves públicas externas (chaves públicas de clientes ou provedores de identidade) | limparExternalPublicKeysCache | ✔️ |
Limpar cache do reino | limparRealmCache | ✔️ |
Limpar cache do usuário | limparUserCache | ✔️ |
Caminho base para importar clientes nesta região. | importarCliente | ✔️ |
Obter estatísticas da sessão do cliente Retorna um mapa JSON. | getClientsSessionStats | ✔️ |
GET /{realm}/registradores de credenciais | getCredentialRegistradores | ✔️ |
Obtenha escopos de cliente padrão da região. | getDefaultClientScopes | ✔️ |
PUT /{realm}/default-default-client-scopes/{clientScopeId} | setScopeAsDefaultClientScope | ✔️ |
DELETE /{realm}/default-default-client-scopes/{clientScopeId} | unsetScopeAsDefaultClientScope | ✔️ |
Obtenha hierarquia de grupo. | getDefaultGroupHierarquia | ✔️ |
PUT /{realm}/default-groups/{groupId} | setGroupAsDefaultGroup | ✔️ |
DELETE /{realm}/default-groups/{groupId} | unsetGroupAsDefaultGroup | ✔️ |
Obtenha escopos de cliente opcionais de realm. | getOptionalClientScopes | ✔️ |
PUT /{realm}/default-optional-client-scopes/{clientScopeId} | setScopeAsOptionalClientScope | ✔️ |
DELETE /{realm}/default-optional-client-scopes/{clientScopeId} | unsetScopeAsOptionalClientScope | ✔️ |
Obter eventos Retorna todos os eventos ou os filtra com base nos parâmetros de consulta de URL listados aqui | getAllEvents | ✔️ |
Excluir todos os eventos | excluirAllEvents | ✔️ |
Obtenha a configuração do provedor de eventos Retorna o objeto JSON com a configuração do provedor de eventos | getEventsConfig | ✔️ |
Atualizar o provedor de eventos Alterar o provedor de eventos e/ou sua configuração | updateEventsConfig | ✔️ |
Obtenha o grupo de usuários por caminho | getGroupByPath | ✔️ |
GET /{reino}/localização | getLocalizationLocales | ✔️ |
POST /{realm}/localization/{locale} | atualizarLocalizationTexts | ✔️ |
GET /{realm}/localization/{locale} | getLocalizationTexts | ✔️ |
DELETE /{realm}/localization/{locale} | excluirLocalizationTexts | ✔️ |
GET /{realm}/localization/{locale}/{key} | getLocalizationText | ✔️ |
PUT /{realm}/localization/{locale}/{key} | salvarLocalizaçãoTexto | ✔️ |
Remove todas as sessões do usuário. (Keycloak lança uma exceção quando este é chamado) | sairTodosUsuários | |
Exportação parcial do domínio existente para um arquivo JSON. | parcialExportRealm | ✔️ |
Importação parcial de um arquivo JSON para uma região existente. | parcialImportRealm | ✔️ |
Envie a política de revogação do domínio para qualquer cliente que tenha um URL de administrador associado a ele. (Keycloak lança uma exceção quando este é chamado) | pushRevocationPolicy | |
Remova uma sessão de usuário específica. | revogarUserSession | ✔️ |
Testar conexão LDAP | testeLDAPConnection | ✔️ |
Teste a conexão SMTP com o usuário conectado no momento | testeSMTPConnection | ✔️ |
Obtenha permissões de gerenciamento de usuários | getUserManagementPermissions | ✔️ |
Atualizar permissões de gerenciamento de usuários | atualizarUserManagementPermissions | ✔️ |
Mapeador de funções
API | Nome da Função | Suportado |
---|
Obtenha mapeamentos de funções | getGroupRoleMappings | ✔️ |
Adicionar mapeamentos de funções em nível de região ao grupo | addGlobalRolesToGroup | ✔️ |
Obtenha mapeamentos de funções em nível de região | getGroupRealmRoleMappings | ✔️ |
Excluir mapeamentos de funções em nível de região | deleteGroupRealmRoleMappings | ✔️ |
Obtenha funções em nível de região que podem ser mapeadas | getAvailableGroupRealmRoleMappings | ✔️ |
Obtenha mapeamentos eficazes de funções em nível de região Isso irá recursar todas as funções compostas para obter o resultado. | getEffectiveGroupRealmRoleMappings | ✔️ |
Obtenha mapeamentos de funções | getUserRoleMappings | ✔️ |
Adicionar mapeamentos de funções em nível de região ao usuário | addGlobalRolesToUser | ✔️ |
Obtenha mapeamentos de funções em nível de região | getUserRealmRoleMappings | ✔️ |
Excluir mapeamentos de funções em nível de região | deleteUserRealmRoleMappings | ✔️ |
Obtenha funções em nível de região que podem ser mapeadas | getAvailableUserRealmRoleMappings | ✔️ |
Obtenha mapeamentos eficazes de funções em nível de região Isso irá recursar todas as funções compostas para obter o resultado. | getEffectiveUserRealmRoleMappings | ✔️ |
Funções
API | Nome da Função | Suportado |
---|
Crie uma nova função para a região ou cliente (específico do cliente) | createClientRole | ✔️ |
Obtenha todas as funções para a região ou cliente (específico do cliente) | getClientRoles | ✔️ |
Obtenha uma função por nome (específico do cliente) | getClientRole | ✔️ |
Atualizar uma função por nome (específico do cliente) | atualizarClientRole | ✔️ |
Excluir uma função por nome (específico do cliente) | deleteClientRole | ✔️ |
Adicione um composto à função (específico do cliente) | addCompositeRoleToClientRole | ✔️ |
Obtenha composições da função (específico do cliente) | getClientRoleCompositeRoles | ✔️ |
Remover funções do composto da função (específico do cliente) | excluirCompositeRoleFromClientRole | ✔️ |
Funções no nível do aplicativo para o aplicativo especificado para o composto da função (específico do cliente) | getClientRoleCompositeRolesForClient | ✔️ |
Obtenha funções em nível de região do composto da função (específico do cliente) | getClientRoleCompositeRolesForRealm | ✔️ |
Lista de retorno de grupos que possuem o nome de função especificado (específico do cliente) | getClientRoleGroups | ✔️ |
Objeto de retorno informando se as permissões de autorização da função foram inicializadas ou não e uma referência (específico do cliente) | getClientRoleManagementPermissions | ✔️ |
Atualizar objeto informando se as permissões de autorização da função foram inicializadas ou não e uma referência (específico do cliente) | updateClientRoleManagementPermissions | ✔️ |
Retornar lista de usuários que possuem o nome de função especificado (específico do cliente) | getClientRoleUsers | ✔️ |
Crie uma nova função para a região ou cliente | createRealmRole | ✔️ |
Obtenha todas as funções do domínio ou do cliente | getRealmRoles | ✔️ |
Obtenha uma função pelo nome | getRealmRole | ✔️ |
Atualizar uma função por nome | atualizarRealmRole | ✔️ |
Excluir uma função pelo nome | excluirRealmRole | ✔️ |
Adicione um composto à função | addCompositeRoleToRealmRole | ✔️ |
Obtenha composições da função | getRealmRoleCompositeRoles | ✔️ |
Remover funções do composto da função | excluirCompositeRoleFromRealmRole | ✔️ |
Uma função no nível do aplicativo para o aplicativo especificado para o composto da função | getRealmRoleCompositeRolesForClient | ✔️ |
Obtenha funções no nível da região do composto da função | getRealmRoleCompositeRolesForRealm | ✔️ |
Retornar lista de grupos que possuem o nome de função especificado | getRealmRoleGroups | ✔️ |
Objeto de retorno informando se as permissões de autorização da função foram inicializadas ou não e uma referência | getRealmRoleManagementPermissions | ✔️ |
Objeto de atualização informando se as permissões de autorização da função foram inicializadas ou não e uma referência | atualizarRealmRoleManagementPermissions | ✔️ |
Retornar lista de usuários que possuem o nome de função especificado | getRealmRoleUsers | ✔️ |
Funções (por ID)
API | Nome da Função | Suportado |
---|
Obtenha a representação de uma função específica | getRealmRoleById | ✔️ |
Atualizar a função | atualizarRealmRoleById | ✔️ |
Excluir a função | deletarRealmRoleById | ✔️ |
Torne a função uma função composta associando algumas funções filhas | addCompositeRoleToRealmRoleByRoleId | ✔️ |
Obter filhos do papel Retorna um conjunto de filhos do papel, desde que o papel seja composto. | getRealmRoleCompositeRolesByRoleId | ✔️ |
Remover um conjunto de funções do composto da função | excluirCompositeRoleFromRealmRoleByRoleId | ✔️ |
Obtenha funções no nível do cliente para o cliente que está no composto da função | getRealmRoleCompositeRolesForClientByRoleId | ✔️ |
Obtenha funções no nível da região que estão no composto da função | getRealmRoleCompositeRolesForRealmByRoleId | ✔️ |
Objeto de retorno informando se as permissões de autorização da função foram inicializadas ou não e uma referência | getRealmRoleManagementPermissionsByRoleId | ✔️ |
Objeto de retorno informando se as permissões de autorização da função foram inicializadas ou não e uma referência | atualizarRealmRoleManagementPermissionsByRoleId | ✔️ |
Mapeamentos de escopo
API | Nome da Função | Suportado |
---|
Obtenha todos os mapeamentos de escopo para o cliente | | |
Adicione funções de nível de cliente ao escopo do cliente | | |
Obtenha as funções associadas ao escopo de um cliente. Retorna funções para o cliente. | | |
Remova funções no nível do cliente do escopo do cliente. | | |
As funções disponíveis no nível do cliente Retorna as funções do cliente que podem ser associadas ao escopo do cliente | | |
Obter funções de cliente efetivas Retorna as funções do cliente associadas ao escopo do cliente. | | |
Adicione um conjunto de funções em nível de região ao escopo do cliente | | |
Obtenha funções em nível de realm associadas ao escopo do cliente | | |
Remover um conjunto de funções em nível de região do escopo do cliente | | |
Obtenha funções em nível de região que estão disponíveis para serem anexadas ao escopo deste cliente | | |
Obtenha funções efetivas em nível de região associadas ao escopo do cliente. O que isso faz é recursar quaisquer funções compostas associadas ao escopo do cliente e adicionar as funções a essas listas. | | |
Obtenha todos os mapeamentos de escopo para o cliente | | |
Adicione funções de nível de cliente ao escopo do cliente | | |
Obtenha as funções associadas ao escopo de um cliente. Retorna funções para o cliente. | | |
Remova funções no nível do cliente do escopo do cliente. | | |
As funções disponíveis no nível do cliente Retorna as funções do cliente que podem ser associadas ao escopo do cliente | | |
Obter funções de cliente efetivas Retorna as funções do cliente associadas ao escopo do cliente. | | |
Adicione um conjunto de funções em nível de região ao escopo do cliente | | |
Obtenha funções no nível da região associadas ao escopo do cliente | | |
Remover um conjunto de funções em nível de região do escopo do cliente | | |
Obtenha funções em nível de região que estão disponíveis para serem anexadas ao escopo deste cliente | | |
Obtenha funções efetivas em nível de região associadas ao escopo do cliente. O que isso faz é recursar quaisquer funções compostas associadas ao escopo do cliente e adicionar as funções a essas listas. | | |
Provedor de armazenamento de usuário
API | Nome da Função | Suportado |
---|
Precisa disso para que o console de administração exiba o nome simples do provedor ao exibir detalhes do cliente KEYCLOAK-4328 | | |
Precisa disso para que o console de administração exiba o nome simples do provedor ao exibir detalhes do usuário KEYCLOAK-4328 | | |
Remover usuários importados | | |
Acionar sincronização de usuários A ação pode ser "triggerFullSync" ou "triggerChangedUsersSync" | | |
Desvincular usuários importados de um provedor de armazenamento | | |
A sincronização do gatilho dos dados do mapeador relacionados à direção do mapeador ldap (funções, grupos,…) é "fedToKeycloak" ou "keycloakToFed" | | |
Usuários
API | Nome da Função | Suportado |
---|
Crie um novo usuário O nome de usuário deve ser exclusivo. | criarUsuário | ✔️ |
Obter usuários Retorna uma lista de usuários, filtrada de acordo com parâmetros de consulta | getUsers | ✔️ |
GET /{realm}/users/count | getUserCount | ✔️ |
Obtenha representação do usuário | getUser | ️️️✔️ |
Atualizar o usuário | atualizarUser | ️️️✔️ |
Exclua o usuário | excluir usuário | ️️️✔️ |
Obtenha consentimentos concedidos pelo usuário | | ️✔️ |
Revogar o consentimento e os tokens off-line para um cliente específico do usuário | | |
Desative todas as credenciais de um usuário de um tipo específico | | |
Enviar um e-mail de atualização da conta ao usuário Um e-mail contém um link no qual o usuário pode clicar para executar um conjunto de ações necessárias. | executeActionsE-mail | ✔️ |
Obtenha logins sociais associados ao usuário | | ✔️ |
Adicione um provedor de login social ao usuário | | ✔️ |
Remover um provedor de login social do usuário | | ✔️ |
GET /{realm}/users/{id}/groups | getUserGroups | ✔️ |
GET /{realm}/users/{id}/groups/count | getUserGroupsCount | ✔️ |
PUT /{realm}/users/{id}/groups/{groupId} | addUserToGroup | ✔️ |
DELETE /{realm}/users/{id}/groups/{groupId} | excluirUserFromGroup | ✔️ |
Personificar o usuário | personificarUser | ✔️ |
Remova todas as sessões de usuário associadas ao usuário. Envie também uma notificação a todos os clientes que possuem um URL de administrador para invalidar as sessões do usuário específico. | sairUsuário | ✔️ |
Obtenha sessões offline associadas ao usuário e ao cliente | | |
Remover TOTP do usuário | | |
Configure uma nova senha para o usuário. | redefinirUserPassword | ✔️ |
Enviar um email de verificação de email ao usuário Um email contém um link no qual o usuário pode clicar para verificar seu endereço de email. | enviarVerificarE-mail | ✔️ |
Obtenha sessões associadas ao usuário | getUserSessions | ✔️ |
Obtenha credenciais associadas ao usuário | getUserCredentials | ✔️ |
Excluir credencial associada ao usuário | deleteUserCredential | ✔️ |
Raiz
API | Nome da Função | Suportado |
---|
Obtenha temas, provedores sociais, provedores de autenticação e ouvintes de eventos disponíveis neste servidor | | |
Pré-voo CORS | | |