- Introduction
- Comment utiliser
- Personnalisation
- API prises en charge
- Détection d'attaque
- Gestion de l'authentification
- Certificat d'attribut client
- Accès initial du client
- Politique d'inscription des clients
- Mappages de rôles client
- Portées client
- Clientèle
- Composant
- Groupes
- Fournisseurs d'identité
- Clé
- Mappeurs de protocole
- Administrateur des royaumes
- Mappeur de rôles
- Rôles
- Rôles (par ID)
- Mappages de portée
- Fournisseur de stockage utilisateur
- Utilisateurs
- Racine
Introduction
Il s'agit d'un client php pour se connecter aux API de repos de l'administrateur keycloak sans mal de tête.
Caractéristiques:
- Facile à utiliser
- Pas besoin d'obtenir un jeton ou de le générer - il est déjà géré par le client
- Pas besoin de spécifier d'URL autres que l'URI de base
- Pas d'encodage/décodage pour json, juste les données comme prévu
Fonctionne avec l'API REST d'administration Keycloak 7.0+.
https://www.keycloak.org/documentation -> "API REST d'administration"
Comment utiliser
1. Créer un nouveau client
$ client = Keycloak Admin KeycloakClient:: factory ([
' realm ' => ' master ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
' client_id ' => ' admin-cli ' ,
' baseUri ' => ' http://127.0.0.1:8180 ' ,
]);
Depuis la version 0.30, si votre URL de base Keycloak commence par auth/
, ajoutez-la à baseUri
(par exemple http://127.0.0.1:8180/auth/). Les URL de base pour les versions 7 à 16 de Keycloak ont systématiquement auth/
. Sur Keycloak 17+, cela dépend de vos paramètres.
2. Utilisez-le
$ 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 ' ,
],
],
]);
Personnalisation
Identifiants pris en charge
Il est possible de modifier le type d'identifiant utilisé pour s'authentifier en modifiant la configuration du client keycloak.
Actuellement, les informations d'identification suivantes sont prises en charge
- identifiants de mot de passe, utilisés par défaut
- s'authentifier avec un compte utilisateur
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' password ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
]);
- informations d'identification du client
- pour s'authentifier avec un compte de service client
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' client_credentials ' ,
' client_id ' => ' admin-cli ' ,
' client_secret ' => ' 84ab3d98-a0c3-44c7-b532-306f222ce1ff ' ,
]);
Injection de middleware
Il est possible d'injecter le middleware client Guzzle dans la configuration du client keycloak en utilisant le mot-clé middlewares
.
Par exemple:
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 ;
}),
],
]);
Changer la façon dont le jeton est enregistré et stocké
Par défaut, le jeton est enregistré au moment de l'exécution. Cela signifie que le token précédent n'est pas utilisé lors de la création d'un nouveau client.
Vous pouvez personnaliser la façon dont le jeton est stocké dans la configuration client en implémentant votre propre TokenStorage
, une interface qui décrit comment le jeton est stocké et récupéré.
class CustomTokenStorage implements TokenStorage
{
public function getToken ()
{
// TODO
}
public function saveToken ( array $ token )
{
// TODO
}
}
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' token_storage ' => new CustomTokenStorage (),
]);
Points de terminaison Keycloak personnalisés
Il est possible d'injecter Guzzle Service Operations dans la configuration du client keycloak en utilisant le mot-clé custom_operations
. De cette façon, vous pouvez étendre les points de terminaison pris en charge intégrés avec des fonctionnalités personnalisées.
$ 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 prises en charge
Détection d'attaque
API | Nom de la fonction | Soutenu |
---|
Effacer tous les échecs de connexion utilisateur pour tous les utilisateurs. Cela peut libérer les utilisateurs temporairement désactivés. | clearAllLoginÉchecs | ✔️ |
Obtenir le statut d'un nom d'utilisateur dans la détection par force brute | getBruteForceUserStatus | ✔️ |
Effacer tous les échecs de connexion de l'utilisateur. Cela peut libérer l'utilisateur temporairement désactivé. | clearUserLoginFailures | ✔️ |
Gestion de l'authentification
API | Nom de la fonction | Soutenu |
---|
Obtenir les fournisseurs d'authentification Renvoie une liste de fournisseurs d'authentification. | getAuthenticatorProviders | ✔️ |
Obtenir les fournisseurs d'authentification client Renvoie une liste des fournisseurs d'authentification client. | getClientAuthenticatorProviders | ✔️ |
Obtenir la description de la configuration du fournisseur d'authentification | getAuthenticatorConfigInfo | ✔️ |
Obtenir la configuration de l'authentificateur | getAuthenticatorConfig | ✔️ |
Mettre à jour la configuration de l'authentificateur | updateAuthenticatorConfig | ✔️ |
Supprimer la configuration de l'authentificateur | deleteAuthenticatorConfig | ✔️ |
Ajouter une nouvelle exécution d'authentification | createAuthenticationExecution | ✔️ |
Obtenez une exécution unique | getAuthenticationExecution | ✔️ |
Supprimer l'exécution | supprimerAuthenticationExecution | ✔️ |
Mettre à jour l'exécution avec une nouvelle configuration | updateAuthenticationExecution | ✔️ |
Priorité d'exécution inférieure | LowerAuthenticationExecutionPriority | ✔️ |
Augmenter la priorité d'exécution | raiseAuthenticationExecutionPriority | ✔️ |
Créer un nouveau flux d'authentification | créerAuthenticationFlow | ✔️ |
Obtenir les flux d'authentification Renvoie une liste de flux d'authentification. | getAuthenticationFlows | ✔️ |
Copier le flux d'authentification existant sous un nouveau nom Le nouveau nom est donné comme attribut 'newName' de l'objet JSON transmis | copyAuthenticationFlow | ✔️ |
Obtenir des exécutions d'authentification pour un flux | getAuthenticationFlowExecutions | ✔️ |
Mettre à jour les exécutions d'authentification pour un flux | updateAuthenticationFlowExecutions | ✔️ |
Ajouter une nouvelle exécution d'authentification à un flux | createAuthenticationFlowExecution | ✔️ |
Ajouter un nouveau flux avec une nouvelle exécution au flux existant | addAuthenticationFlowExecution | ✔️ |
Obtenir le flux d'authentification pour l'identifiant | getAuthenticationFlow | ✔️ |
Mettre à jour le flux d'authentification pour l'identifiant | updateAuthenticationFlow | ✔️ |
Supprimer un flux d'authentification | supprimerAuthenticationFlow | ✔️ |
Obtenir les fournisseurs d'actions de formulaire Renvoie une liste des fournisseurs d'actions de formulaire. | getFormActionProviders | ✔️ |
Obtenir les fournisseurs de formulaires Renvoie une liste de fournisseurs de formulaires. | getFormProviders | ✔️ |
Obtenez des descriptions de configuration pour tous les clients | getClientsConfigDescriptions | ✔️ |
Enregistrer une nouvelle action requise | createRequiredAction | ✔️ |
Obtenir les actions requises Renvoie une liste des actions requises. | getRequiredActions | ✔️ |
Obtenir l'action requise pour l'alias | getAliasRequiredAction | ✔️ |
Mettre à jour l'action requise | updateRequiredAction | ✔️ |
Supprimer l'action requise | supprimerActionRequise | ✔️ |
Réduire la priorité de l'action requise | LowerRequiredActionPriority | ✔️ |
Augmenter la priorité de l'action requise | raiseRequiredActionPriority | ✔️ |
Obtenir les actions requises non enregistrées Renvoie une liste des actions requises non enregistrées. | getUnregisteredRequiredActions | ✔️ |
Certificat d'attribut client
API | Nom de la fonction | Soutenu |
---|
Obtenez des informations clés (essayez avec attr = "jwt.credential") | getClientKeyInfo | ✔️ |
Obtenez un fichier de clés pour le client, contenant la clé privée et le certificat public (remarque : écrivez le contenu de la réponse dans un fichier) | getClientKeyStore | ✔️ |
Générer un nouveau certificat avec une nouvelle paire de clés | générerClientCertificate | ✔️ |
Générer une nouvelle paire de clés et un nouveau certificat, et obtenir le fichier de clé privée. Génère une paire de clés et un certificat et sert la clé privée dans un format de magasin de clés spécifié. | générerDownloadClientCertificate | ✔️ |
Télécharger le certificat et éventuellement la clé privée | uploadClientCertificateAndPrivateKey | ✔️ |
Téléchargez uniquement le certificat, pas la clé privée | uploadClientCertificateOnly | ✔️ |
Accès initial du client
API | Nom de la fonction | Soutenu |
---|
Créez un nouveau jeton d'accès initial. | createClientInitialAccessToken | ✔️ |
GET /{domaine}/clients-initial-access | getClientInitialAccessTokens | ✔️ |
SUPPRIMER /{domaine}/clients-initial-access/{id} | deleteClientInitialAccessToken | ✔️ |
Politique d'inscription des clients
API | Nom de la fonction | Soutenu |
---|
Chemin de base pour récupérer les fournisseurs avec les configProperties correctement renseignées | getClientRegistrationPolicyProviders | ✔️ |
Mappages de rôles client
API | Nom de la fonction | Soutenu |
---|
Ajouter des rôles au niveau du client au mappage des rôles de groupe | addGroupClientRoleMappings | ✔️ |
Obtenez des mappages de rôles au niveau du client pour le groupe et l'application | getGroupClientRoleMappings | ✔️ |
Supprimer les rôles au niveau du client du mappage des rôles de groupe | deleteGroupClientRoleMappings | ✔️ |
Obtenez les rôles disponibles au niveau du client qui peuvent être mappés au groupe | getAvailableGroupClientRoleMappings | ✔️ |
Obtenez des mappages de rôles efficaces au niveau du client. Cela récure tous les rôles composites pour les groupes. | getGroupClientRoleMappingsWithComposite | ✔️ |
Ajouter des rôles au niveau du client au mappage des rôles utilisateur | addUserClientRoleMappings | ✔️ |
Obtenez des mappages de rôles au niveau du client pour l'utilisateur et l'application | getUserClientRoleMappings | ✔️ |
Supprimer les rôles au niveau du client du mappage des rôles utilisateur | deleteUserClientRoleMappings | ✔️ |
Obtenez les rôles disponibles au niveau du client qui peuvent être mappés à l'utilisateur | getAvailableUserClientRoleMappings | ✔️ |
Obtenez des mappages de rôles efficaces au niveau du client. Cela récure tous les rôles composites pour les utilisateurs. | getUserClientRoleMappingsWithComposite | ✔️ |
Portées client
API | Nom de la fonction | Soutenu |
---|
Créer un nouveau scope client Le nom du scope client doit être unique ! | créerClientScope | ✔️ |
Obtenir les étendues client appartenant au domaine Renvoie une liste des étendues client appartenant au domaine | getClientScopes | ✔️ |
Obtenir une représentation du périmètre client | getClientScope | ✔️ |
Mettre à jour la portée du client | updateClientScope | ✔️ |
Supprimer la portée client | supprimerClientScope | ✔️ |
Clientèle
API | Nom de la fonction | Soutenu |
---|
Créer un nouveau client Le client_id du client doit être unique ! | créerClient | ✔️ |
Obtenir les clients appartenant au domaine Renvoie une liste des clients appartenant au domaine | obtenirClients | ✔️ |
Obtenir une représentation du client | obtenirClient | ✔️ |
Mettre à jour le client | mise à jourClient | ✔️ |
Supprimer le client | supprimerClient | ✔️ |
Générer un nouveau secret pour le client | générerClientSecret | ✔️ |
Obtenez le secret client | getClientSecret | ✔️ |
Obtenez les étendues client par défaut. | getClientDefaultScopes | ✔️ |
Définir la portée du client comme portée par défaut | setClientScopeAsDefault | ✔️ |
Supprimer la portée client des portées par défaut | supprimerClientScopeAsDefault | ✔️ |
Créer JSON avec la charge utile d'un exemple de jeton d'accès | getClientExampleAccessToken | ✔️ |
Renvoie la liste de tous les mappeurs de protocole, qui seront utilisés lors de la génération de jetons émis pour un client particulier. | getClientProtocolMappers | ✔️ |
Obtenez un mappage de portée efficace de tous les rôles d'un conteneur de rôles particulier, que ce client est de facto autorisé à avoir dans le accessToken émis pour lui. | getClientAllowedRoleMappingsInContainer | ✔️ |
Obtenez des rôles pour lesquels ce client n'a pas de possibilité et ne peut pas les avoir dans le accessToken émis pour lui. | getClientNotAllowedRoleMappingsInContainer | ✔️ |
La configuration de l'adaptateur client généré prend l'un de ces éléments (keycloak-oidc-keycloak-json, keycloak-oidc-jboss-subsystem-cli, keycloak-oidc-jboss-subsystem, keycloak-saml, keycloak-saml-subsystem-cli, keycloak-saml -sous-système) | getClientInstallationConfiguration | ✔️ |
Objet de retour indiquant si les autorisations d'autorisation du client ont été initialisées ou non et une référence | getClientAuthorizationPermissionsStatus | ✔️ |
Mettre à jour l'initialisation des autorisations du client et une référence | updateClientAuthorizationPermissionsStatus | ✔️ |
Enregistrez un nœud de cluster auprès du client Enregistrez manuellement le nœud de cluster sur ce client - il n'est généralement pas nécessaire de l'appeler directement car l'adaptateur doit le gérer en envoyant une demande d'enregistrement à Keycloak | registreClientClusterNode | ✔️ |
Désenregistrer un nœud de cluster du client | désinscrireClientClusterNode | ✔️ |
Obtenir le nombre de sessions hors ligne de l'application Renvoie un nombre de sessions utilisateur hors ligne associées à ce client { "count": number } | getClientOfflineSessionsCount | ✔️ |
Obtenir des sessions hors ligne pour le client Renvoie une liste des sessions utilisateur hors ligne associées à ce client | getClientOfflineSessions | ✔️ |
Obtenez des étendues client facultatives. | getClientOptionalScopes | ✔️ |
Attribuer une portée facultative au client | assignClientOptionalScope | ✔️ |
supprimer l'attribution de portée facultative du client | unassignClientOptionalScope | ✔️ |
Envoyez la politique de révocation du client vers son URL d'administration. Si le client dispose d'une URL d'administration, envoyez-y la stratégie de révocation. | pushClientRevocationPolicy | ✔️ |
Générer un nouveau jeton d'accès à l'enregistrement pour le client | generateClientRegistrationToken | ✔️ |
Obtenez un utilisateur dédié au compte de service | getServiceAccountDedicatedUser | ✔️ |
Obtenir le nombre de sessions d'application Renvoie le nombre de sessions utilisateur associées à ce client { "count": number } | getClientSessionsCount | ✔️ |
Testez si les nœuds de cluster enregistrés sont disponibles. Teste la disponibilité en envoyant une requête « ping » à tous les nœuds de cluster. | testClientNodesAvailability | ✔️ |
Obtenir les sessions utilisateur pour le client Renvoie une liste des sessions utilisateur associées à ce client | obtenirClientSessions | ✔️ |
Composant
API | Nom de la fonction | Soutenu |
---|
Créer un nouveau composant | créer un composant | ✔️ |
Obtenir des composants | obtenir des composants | ✔️ |
Obtenir le composant | obtenirComponent | ✔️ |
Composant de mise à jour | composant de mise à jour | ✔️ |
Supprimer un composant | supprimerComposant | ✔️ |
Liste des types de sous-composants disponibles à configurer pour un composant parent particulier. | getComponentSubTypes | ✔️ |
Groupes
API | Nom de la fonction | Soutenu |
---|
créer ou ajouter un groupe de domaine de niveau supérieur ou créer un enfant. | créer un groupe | ✔️ |
Obtenez la hiérarchie des groupes. | obtenir des groupes | ✔️ |
Renvoie le nombre de groupes. | getGroupsCount | ✔️ |
Obtenir un groupe | obtenirGroupe | ✔️ |
Obtenir les enfants du groupe (sous-groupes) | getGroupEnfants | ✔️ |
Mettre à jour le groupe, ignore les sous-groupes. | groupe de mise à jour | ✔️ |
Supprimer le groupe | supprimerGroupe | ✔️ |
Définir ou créer un enfant. | créerGroupeEnfants | ✔️ |
Objet de retour indiquant si les autorisations d'autorisation du client ont été initialisées ou non et une référence | getGroupManagementPermissions | ✔️ |
Objet de retour indiquant si les autorisations d'autorisation du client ont été initialisées ou non et une référence | updateGroupManagementPermissions | ✔️ |
Get users Renvoie une liste d'utilisateurs, filtrée en fonction des paramètres de requête | getGroupMembers | ✔️ |
Fournisseurs d'identité
API | Nom de la fonction | Soutenu |
---|
Importer le fournisseur d'identité à partir du fichier JSON téléchargé | importIdentityProvider | ✔️ |
Créer un nouveau fournisseur d'identité | créer un fournisseur d'identité | ✔️ |
Obtenir des fournisseurs d'identité | getIdentityProviders | ✔️ |
Obtenir le fournisseur d'identité | getIdentityProvider | ✔️ |
Mettre à jour le fournisseur d'identité | updateIdentityProvider | ✔️ |
Supprimer le fournisseur d'identité | supprimerIdentityProvider | ✔️ |
Exporter la configuration du courtier public pour le fournisseur d'identité | exportIdentityProviderBrokerConfig | ✔️ |
Objet de retour indiquant si les autorisations d'autorisation du client ont été initialisées ou non et une référence | getIdentityProviderManagementPermissions | ✔️ |
Objet de retour indiquant si les autorisations d'autorisation du client ont été initialisées ou non et une référence | updateIdentityProviderManagementPermissions | ✔️ |
Obtenez les types de mappeur pour le fournisseur d'identité (Keycloak donne un rapport d'exception) | getIdentityProviderMapperTypes | ✔️ |
Ajouter un mappeur au fournisseur d'identité | créerIdentityProviderMapper | ✔️ |
Obtenir des mappeurs pour le fournisseur d'identité | getIdentityProviderMappers | ✔️ |
Obtenir le mappeur par identifiant pour le fournisseur d'identité | getIdentityProviderMapper | ✔️ |
Mettre à jour un mappeur pour le fournisseur d'identité (ne fonctionne pas pour une raison quelconque donne une exception de pointeur nul) | updateIdentityProviderMapper | ✔️ |
Supprimer un mappeur pour le fournisseur d'identité | supprimerIdentityProviderMapper | ✔️ |
Obtenir des fournisseurs d'identité | getIdentityProviderById | ✔️ |
Clé
API | Nom de la fonction | Soutenu |
---|
Obtenez les clés de royaume | obtenirRealmKeys | ✔️ |
Mappeurs de protocole
Remarque : les identifiants sont envoyés sous la forme clientScopeId ou clientId et mapperId, tout le reste correspond à la documentation keycloak.
API | Nom de la fonction | Soutenu |
---|
Créer plusieurs mappeurs | createClientScopeProtocolMappers | ✔️ |
Créer un mappeur | createClientScopeProtocolMapper | ✔️ |
Obtenir des mappeurs | getClientScopeProtocolMappers | ✔️ |
Obtenir le mappeur par identifiant | getClientScopeProtocolMapperById | ✔️ |
Mettre à jour le mappeur | updateClientScopeProtocolMapper | ✔️ |
Supprimer le mappeur | deleteClientScopeProtocolMapper | ✔️ |
Obtenez les mappeurs par nom pour un protocole spécifique | getClientScopeProtocolMappersByProtocolName | ✔️ |
Créer plusieurs mappeurs | createClientProtocolMappers | ✔️ |
Créer un mappeur | créerClientProtocolMapper | ✔️ |
Obtenir des mappeurs | getClientProtocolMappers | ✔️ |
Obtenir le mappeur par identifiant | getClientProtocolMapperById | ✔️ |
Mettre à jour le mappeur | updateClientProtocolMapper | ✔️ |
Supprimer le mappeur | deleteClientProtocolMapper | ✔️ |
Obtenez les mappeurs par nom pour un protocole spécifique | getClientProtocolMappersByProtocolName | ✔️ |
Administrateur des royaumes
API | Nom de la fonction | Soutenu |
---|
Obtenir les domaines accessibles Renvoie une liste des domaines accessibles. La liste est filtrée en fonction des domaines que l'appelant est autorisé à afficher. | obtenir des royaumes | ✔️ |
Importer un domaine Importe un domaine à partir d'une représentation complète de ce domaine. | importRealm | ✔️ |
Obtenez la représentation de niveau supérieur du domaine. Elle n'inclura pas d'informations imbriquées telles que les représentations utilisateur et client. | obtenir le royaume | ✔️ |
Mettre à jour les informations de niveau supérieur du domaine. Toutes les informations sur les utilisateurs, les rôles ou les clients dans la représentation seront ignorées. | mise à jour du domaine | ✔️ |
Supprimer le royaume | supprimer le royaume | ✔️ |
Obtenir les événements d'administration Renvoie tous les événements d'administration ou filtre les événements en fonction des paramètres de requête d'URL répertoriés ici | getAdminEvents | ✔️ |
Supprimer tous les événements d'administration | supprimerAdminEvents | ✔️ |
Vider le cache des clés publiques externes (Clés publiques des clients ou fournisseurs d'identité) | clearExternalPublicKeysCache | ✔️ |
Vider le cache du domaine | clearRealmCache | ✔️ |
Vider le cache utilisateur | effacer le cache utilisateur | ✔️ |
Chemin de base pour importer des clients sous ce domaine. | importerClient | ✔️ |
Obtenir les statistiques de session client Renvoie une carte JSON. | getClientsSessionStats | ✔️ |
GET /{realm}/credential-registrators | getCredentialRegistrators | ✔️ |
Obtenez les étendues client par défaut du domaine. | getDefaultClientScopes | ✔️ |
PUT /{domaine}/default-default-client-scopes/{clientScopeId} | setScopeAsDefaultClientScope | ✔️ |
SUPPRIMER /{domaine}/default-default-client-scopes/{clientScopeId} | unsetScopeAsDefaultClientScope | ✔️ |
Obtenez la hiérarchie des groupes. | getDefaultGroupHierarchy | ✔️ |
PUT /{domaine}/default-groups/{groupId} | setGroupAsDefaultGroup | ✔️ |
SUPPRIMER /{domaine}/default-groups/{groupId} | unsetGroupAsDefaultGroup | ✔️ |
Obtenez les étendues client facultatives du domaine. | getOptionalClientScopes | ✔️ |
PUT /{domaine}/default-optional-client-scopes/{clientScopeId} | setScopeAsOptionalClientScope | ✔️ |
SUPPRIMER /{domaine}/default-optional-client-scopes/{clientScopeId} | unsetScopeAsOptionalClientScope | ✔️ |
Obtenir les événements Renvoie tous les événements ou les filtre en fonction des paramètres de requête URL répertoriés ici | getAllEvents | ✔️ |
Supprimer tous les événements | supprimer tous les événements | ✔️ |
Obtenir la configuration du fournisseur d'événements Renvoie l'objet JSON avec la configuration du fournisseur d'événements | getEventsConfig | ✔️ |
Mettre à jour le fournisseur d'événements Modifier le fournisseur d'événements et/ou sa configuration | updateEventsConfig | ✔️ |
Obtenir le groupe d'utilisateurs par chemin | getGroupByPath | ✔️ |
GET /{domaine}/localisation | getLocalizationLocales | ✔️ |
POST /{domaine}/localisation/{locale} | updateLocalizationTexts | ✔️ |
GET /{domaine}/localisation/{locale} | getLocalizationTexts | ✔️ |
SUPPRIMER /{domaine}/localisation/{locale} | supprimerLocalizationTexts | ✔️ |
GET /{realm}/localization/{locale}/{key} | getLocalizationText | ✔️ |
PUT /{domaine}/localisation/{locale}/{key} | saveLocalizationText | ✔️ |
Supprime toutes les sessions utilisateur. (Keycloak lève une exception lorsque celle-ci est appelée) | déconnexionTous les utilisateurs | |
Exportation partielle du domaine existant dans un fichier JSON. | domaine d'exportation partiel | ✔️ |
Importation partielle d'un fichier JSON vers un domaine existant. | partialImportRealm | ✔️ |
Envoyez la politique de révocation du domaine à tout client auquel une URL d'administrateur est associée. (Keycloak lève une exception lorsque celle-ci est appelée) | pushRevocationPolicy | |
Supprimez une session utilisateur spécifique. | révoquer la session utilisateur | ✔️ |
Tester la connexion LDAP | testLDAPConnexion | ✔️ |
Tester la connexion SMTP avec l'utilisateur actuellement connecté | testSMTPConnection | ✔️ |
Obtenir les autorisations de gestion des utilisateurs | getUserManagementPermissions | ✔️ |
Mettre à jour les autorisations de gestion des utilisateurs | updateUserManagementPermissions | ✔️ |
Mappeur de rôles
API | Nom de la fonction | Soutenu |
---|
Obtenir des mappages de rôles | getGroupRoleMappings | ✔️ |
Ajouter des mappages de rôles au niveau du domaine au groupe | addGlobalRolesToGroup | ✔️ |
Obtenez des mappages de rôles au niveau du domaine | getGroupRealmRoleMappings | ✔️ |
Supprimer les mappages de rôles au niveau du domaine | deleteGroupRealmRoleMappings | ✔️ |
Obtenez des rôles au niveau du domaine qui peuvent être mappés | getAvailableGroupRealmRoleMappings | ✔️ |
Obtenez des mappages de rôles efficaces au niveau du domaine. Cela récurera tous les rôles composites pour obtenir le résultat. | getEffectiveGroupRealmRoleMappings | ✔️ |
Obtenir des mappages de rôles | getUserRoleMappings | ✔️ |
Ajouter des mappages de rôles au niveau du domaine à l'utilisateur | addGlobalRolesToUser | ✔️ |
Obtenez des mappages de rôles au niveau du domaine | getUserRealmRoleMappings | ✔️ |
Supprimer les mappages de rôles au niveau du domaine | deleteUserRealmRoleMappings | ✔️ |
Obtenez des rôles au niveau du domaine qui peuvent être mappés | getAvailableUserRealmRoleMappings | ✔️ |
Obtenez des mappages de rôles efficaces au niveau du domaine. Cela récurera tous les rôles composites pour obtenir le résultat. | getEffectiveUserRealmRoleMappings | ✔️ |
Rôles
API | Nom de la fonction | Soutenu |
---|
Créer un nouveau rôle pour le domaine ou le client (spécifique au client) | créer un rôle client | ✔️ |
Obtenez tous les rôles pour le domaine ou le client (spécifique au client) | getClientRoles | ✔️ |
Obtenez un rôle par nom (spécifique au client) | getClientRole | ✔️ |
Mettre à jour un rôle par nom (spécifique au client) | updateClientRole | ✔️ |
Supprimer un rôle par nom (spécifique au client) | supprimerClientRole | ✔️ |
Ajouter un composite au rôle (spécifique au client) | addCompositeRoleToClientRole | ✔️ |
Obtenir des composites du rôle (spécifique au client) | getClientRoleCompositeRoles | ✔️ |
Supprimer des rôles du composite du rôle (spécifique au client) | deleteCompositeRoleFromClientRole | ✔️ |
Des rôles au niveau de l'application pour l'application spécifiée pour le composite du rôle (spécifique au client) | getClientRoleCompositeRolesForClient | ✔️ |
Obtenez les rôles au niveau du domaine du composite du rôle (spécifique au client) | getClientRoleCompositeRolesForRealm | ✔️ |
Renvoie la liste des groupes qui ont le nom de rôle spécifié (spécifique au client) | getClientRoleGroups | ✔️ |
Renvoie un objet indiquant si les autorisations d'autorisation du rôle ont été initialisées ou non et une référence (spécifique au client) | getClientRoleManagementPermissions | ✔️ |
Objet de mise à jour indiquant si les autorisations d'autorisation de rôle ont été initialisées ou non et une référence (spécifique au client) | updateClientRoleManagementPermissions | ✔️ |
Renvoie la liste des utilisateurs qui ont le nom de rôle spécifié (spécifique au client) | getClientRoleUsers | ✔️ |
Créer un nouveau rôle pour le domaine ou le client | createRealmRole | ✔️ |
Obtenez tous les rôles pour le domaine ou le client | getRealmRoles | ✔️ |
Obtenez un rôle par son nom | getRealmRole | ✔️ |
Mettre à jour un rôle par nom | updateRealmRole | ✔️ |
Supprimer un rôle par son nom | supprimerRealmRole | ✔️ |
Ajouter un composite au rôle | addCompositeRoleToRealmRole | ✔️ |
Obtenez des composites du rôle | getRealmRoleCompositeRoles | ✔️ |
Supprimer des rôles du composite du rôle | deleteCompositeRoleFromRealmRole | ✔️ |
Des rôles au niveau de l'application pour l'application spécifiée pour le composite du rôle | getRealmRoleCompositeRolesForClient | ✔️ |
Obtenez les rôles au niveau du domaine du composite du rôle | getRealmRoleCompositeRolesForRealm | ✔️ |
Renvoie la liste des groupes qui ont le nom de rôle spécifié | getRealmRoleGroups | ✔️ |
Renvoie un objet indiquant si les autorisations d'autorisation du rôle ont été initialisées ou non et une référence | getRealmRoleManagementPermissions | ✔️ |
Mettre à jour l'objet indiquant si les autorisations d'autorisation du rôle ont été initialisées ou non et une référence | updateRealmRoleManagementPermissions | ✔️ |
Renvoie la liste des utilisateurs ayant le nom de rôle spécifié | getRealmRoleUsers | ✔️ |
Rôles (par ID)
API | Nom de la fonction | Soutenu |
---|
Obtenez la représentation d'un rôle spécifique | getRealmRoleById | ✔️ |
Mettre à jour le rôle | updateRealmRoleById | ✔️ |
Supprimer le rôle | deleteRealmRoleById | ✔️ |
Faire du rôle un rôle composite en associant quelques rôles enfants | addCompositeRoleToRealmRoleByRoleId | ✔️ |
Obtenir les enfants du rôle Renvoie un ensemble d'enfants du rôle à condition que le rôle soit un composite. | getRealmRoleCompositeRolesByRoleId | ✔️ |
Supprimer un ensemble de rôles du composite du rôle | deleteCompositeRoleFromRealmRoleByRoleId | ✔️ |
Obtenez les rôles au niveau du client pour le client qui se trouve dans le composite du rôle | getRealmRoleCompositeRolesForClientByRoleId | ✔️ |
Obtenez les rôles au niveau du domaine qui sont dans le composite du rôle | getRealmRoleCompositeRolesForRealmByRoleId | ✔️ |
Renvoie un objet indiquant si les autorisations d'autorisation du rôle ont été initialisées ou non et une référence | getRealmRoleManagementPermissionsByRoleId | ✔️ |
Renvoie un objet indiquant si les autorisations d'autorisation du rôle ont été initialisées ou non et une référence | updateRealmRoleManagementPermissionsByRoleId | ✔️ |
Mappages de portée
API | Nom de la fonction | Soutenu |
---|
Obtenez tous les mappages de portée pour le client | | |
Ajouter des rôles au niveau du client à la portée du client | | |
Obtenir les rôles associés à la portée d'un client Renvoie les rôles pour le client. | | |
Supprimez les rôles au niveau du client de la portée du client. | | |
Les rôles disponibles au niveau du client Renvoie les rôles du client qui peuvent être associés à la portée du client. | | |
Obtenir des rôles client efficaces Renvoie les rôles du client associés à l'étendue du client. | | |
Ajouter un ensemble de rôles au niveau du domaine à la portée du client | | |
Obtenez les rôles au niveau du domaine associés à la portée du client | | |
Supprimer un ensemble de rôles au niveau du domaine de la portée du client | | |
Obtenez les rôles au niveau du domaine qui peuvent être attachés à l'étendue de ce client | | |
Obtenez des rôles efficaces au niveau du domaine associés à la portée du client. Cela permet de récurer tous les rôles composites associés à la portée du client et d'ajouter les rôles à cette liste. | | |
Obtenez tous les mappages de portée pour le client | | |
Ajouter des rôles au niveau du client à la portée du client | | |
Obtenir les rôles associés à la portée d'un client Renvoie les rôles pour le client. | | |
Supprimez les rôles au niveau du client de la portée du client. | | |
Les rôles disponibles au niveau du client Renvoie les rôles du client qui peuvent être associés à la portée du client. | | |
Obtenir des rôles client efficaces Renvoie les rôles du client associés à l'étendue du client. | | |
Ajouter un ensemble de rôles au niveau du domaine à la portée du client | | |
Obtenez les rôles au niveau du domaine associés à la portée du client | | |
Supprimer un ensemble de rôles au niveau du domaine de la portée du client | | |
Obtenez les rôles au niveau du domaine qui peuvent être attachés à l'étendue de ce client | | |
Obtenez des rôles efficaces au niveau du domaine associés à la portée du client. Cela permet de récurer tous les rôles composites associés à la portée du client et d'ajouter les rôles à cette liste. | | |
Fournisseur de stockage utilisateur
API | Nom de la fonction | Soutenu |
---|
Besoin de cela pour que la console d'administration affiche le nom simple du fournisseur lors de l'affichage des détails du client KEYCLOAK-4328 | | |
Besoin de cela pour que la console d'administration affiche le nom simple du fournisseur lors de l'affichage des détails de l'utilisateur KEYCLOAK-4328 | | |
Supprimer les utilisateurs importés | | |
Déclencher la synchronisation des utilisateurs L'action peut être "triggerFullSync" ou "triggerChangedUsersSync" | | |
Dissocier les utilisateurs importés d'un fournisseur de stockage | | |
La synchronisation du déclencheur des données du mappeur liées au mappeur ldap (rôles, groupes, …) est dirigée vers "fedToKeycloak" ou "keycloakToFed". | | |
Utilisateurs
API | Nom de la fonction | Soutenu |
---|
Créer un nouvel utilisateur Le nom d'utilisateur doit être unique. | créer un utilisateur | ✔️ |
Get users Renvoie une liste d'utilisateurs, filtrée en fonction des paramètres de requête | obtenir des utilisateurs | ✔️ |
GET /{domaine}/users/count | getUserCount | ✔️ |
Obtenir une représentation de l'utilisateur | obtenirUtilisateur | ️️️❤️️ |
Mettre à jour l'utilisateur | mettre à jour l'utilisateur | ️️️❤️️ |
Supprimer l'utilisateur | supprimer l'utilisateur | ️️️❤️️ |
Obtenir les consentements accordés par l'utilisateur | | ️ ✔️️ |
Révoquer le consentement et les jetons hors ligne d'un client particulier de l'utilisateur | | |
Désactiver toutes les informations d'identification pour un utilisateur d'un type spécifique | | |
Envoyer un e-mail de mise à jour du compte à l'utilisateur Un e-mail contient un lien sur lequel l'utilisateur peut cliquer pour effectuer un ensemble d'actions requises. | exécuterActionsEmail | ✔️ |
Obtenez les connexions sociales associées à l'utilisateur | | ✔️ |
Ajouter un fournisseur de connexion sociale à l'utilisateur | | ✔️ |
Supprimer un fournisseur de connexion sociale de l'utilisateur | | ✔️ |
OBTENIR /{realm}/users/{id}/groups | obtenir des groupes d'utilisateurs | ✔️ |
OBTENIR /{realm}/users/{id}/groups/count | getUserGroupsCount | ✔️ |
METTRE /{realm}/users/{id}/groups/{groupId} | addUserToGroup | ✔️ |
SUPPRIMER /{realm}/users/{id}/groups/{groupId} | supprimerUserFromGroup | ✔️ |
Usurer l'identité de l'utilisateur | usurper l'identité d'un utilisateur | ✔️ |
Supprimez toutes les sessions utilisateur associées à l'utilisateur. Envoyez également une notification à tous les clients disposant d'une URL d'administrateur pour invalider les sessions de l'utilisateur particulier. | déconnexionUtilisateur | ✔️ |
Obtenez des sessions hors ligne associées à l'utilisateur et au client | | |
Supprimer TOTP de l'utilisateur | | |
Configurez un nouveau mot de passe pour l'utilisateur. | réinitialiser le mot de passe utilisateur | ✔️ |
Envoyer un e-mail de vérification à l'utilisateur Un e-mail contient un lien sur lequel l'utilisateur peut cliquer pour vérifier son adresse e-mail. | envoyerVérifierEmail | ✔️ |
Obtenir les sessions associées à l'utilisateur | getUserSessions | ✔️ |
Obtenir les informations d'identification associées à l'utilisateur | getUserCredentials | ✔️ |
Supprimer les informations d'identification associées à l'utilisateur | supprimerUserCredential | ✔️ |
Racine
API | Nom de la fonction | Soutenu |
---|
Obtenez des thèmes, des fournisseurs sociaux, des fournisseurs d'authentification et des écouteurs d'événements disponibles sur ce serveur | | |
Contrôle en amont du CORS | | |