.. admin: Admin Client ======================== Configure admin client ------------------------- .. code-block:: python admin = KeycloakAdmin( server_url="http://localhost:8080/", username='example-admin', password='secret', realm_name="master", user_realm_name="only_if_other_realm_than_master") Configure admin client with connection -------------------------------------------------- .. code-block:: python from keycloak import KeycloakAdmin from keycloak import KeycloakOpenIDConnection keycloak_connection = KeycloakOpenIDConnection( server_url="http://localhost:8080/", username='example-admin', password='secret', realm_name="master", user_realm_name="only_if_other_realm_than_master", client_id="my_client", client_secret_key="client-secret", verify=True) keycloak_admin = KeycloakAdmin(connection=keycloak_connection) Create user ------------------------- .. code-block:: python new_user = keycloak_admin.create_user({"email": "example@example.com", "username": "example@example.com", "enabled": True, "firstName": "Example", "lastName": "Example"}) Add user and raise exception if username already exists ----------------------------------------------------------- The exist_ok currently defaults to True for backwards compatibility reasons. .. code-block:: python new_user = keycloak_admin.create_user({"email": "example@example.com", "username": "example@example.com", "enabled": True, "firstName": "Example", "lastName": "Example"}, exist_ok=False) Add user and set password --------------------------- .. code-block:: python new_user = keycloak_admin.create_user({"email": "example@example.com", "username": "example@example.com", "enabled": True, "firstName": "Example", "lastName": "Example", "credentials": [{"value": "secret","type": "password",}]}) Add user and specify a locale ------------------------------ .. code-block:: python new_user = keycloak_admin.create_user({"email": "example@example.fr", "username": "example@example.fr", "enabled": True, "firstName": "Example", "lastName": "Example", "attributes": { "locale": ["fr"] }}) User counter ------------------------------ .. code-block:: python count_users = keycloak_admin.users_count() Get users Returns a list of users, filtered according to query parameters ---------------------------------------------------------------------------- .. code-block:: python users = keycloak_admin.get_users({}) Get user ID from username ------------------------------ .. code-block:: python user_id_keycloak = keycloak_admin.get_user_id("username-keycloak") Get user ------------------------------ .. code-block:: python user = keycloak_admin.get_user("user-id-keycloak") Update user ------------------------------ .. code-block:: python response = keycloak_admin.update_user(user_id="user-id-keycloak", payload={'firstName': 'Example Update'}) Update user password ------------------------------ .. code-block:: python response = keycloak_admin.set_user_password(user_id="user-id-keycloak", password="secret", temporary=True) Get user credentials ------------------------------ .. code-block:: python credentials = keycloak_admin.get_credentials(user_id='user_id') Get user credential by ID ------------------------------ .. code-block:: python credential = keycloak_admin.get_credential(user_id='user_id', credential_id='credential_id') Delete user credential ------------------------------ .. code-block:: python response = keycloak_admin.delete_credential(user_id='user_id', credential_id='credential_id') Delete User ------------------------------ .. code-block:: python response = keycloak_admin.delete_user(user_id="user-id-keycloak") Get consents granted by the user -------------------------------- .. code-block:: python consents = keycloak_admin.consents_user(user_id="user-id-keycloak") Send user action ------------------------------ .. code-block:: python response = keycloak_admin.send_update_account(user_id="user-id-keycloak", payload=['UPDATE_PASSWORD']) Send verify email ------------------------------ .. code-block:: python response = keycloak_admin.send_verify_email(user_id="user-id-keycloak") Get sessions associated with the user -------------------------------------- .. code-block:: python sessions = keycloak_admin.get_sessions(user_id="user-id-keycloak")