Browse Source

add client session stats

Signed-off-by: modularTaco <37046961+modularTaco@users.noreply.github.com>
pull/258/head
modularTaco 3 years ago
parent
commit
9abbf559ac
  1. 16
      keycloak/keycloak_admin.py
  2. 2
      keycloak/urls_patterns.py

16
keycloak/keycloak_admin.py

@ -1928,7 +1928,6 @@ class KeycloakAdmin:
data_raw = self.connection.raw_get(URL_ADMIN_CLIENT_ALL_SESSIONS.format(**params_path)) data_raw = self.connection.raw_get(URL_ADMIN_CLIENT_ALL_SESSIONS.format(**params_path))
return raise_error_from_response(data_raw, KeycloakGetError) return raise_error_from_response(data_raw, KeycloakGetError)
def delete_user_realm_role(self, user_id, payload): def delete_user_realm_role(self, user_id, payload):
""" """
Delete realm-level role mappings Delete realm-level role mappings
@ -1939,3 +1938,18 @@ class KeycloakAdmin:
data_raw = self.connection.raw_delete(URL_ADMIN_DELETE_USER_ROLE.format(**params_path), data_raw = self.connection.raw_delete(URL_ADMIN_DELETE_USER_ROLE.format(**params_path),
data=json.dumps(payload)) data=json.dumps(payload))
return raise_error_from_response(data_raw, KeycloakGetError, expected_codes=[204]) return raise_error_from_response(data_raw, KeycloakGetError, expected_codes=[204])
def get_client_sessions_stats(self):
"""
Get current session count for all clients with active sessions
https://www.keycloak.org/docs-api/16.1/rest-api/index.html#_getclientsessionstats
:return: Dict of clients and session count
"""
params_path = {"realm-name": self.realm_name}
data_raw = self.raw_get(
self.URL_ADMIN_CLIENT_SESSION_STATS.format(**params_path)
)
return raise_error_from_response(data_raw, KeycloakGetError)

2
keycloak/urls_patterns.py

@ -110,3 +110,5 @@ URL_ADMIN_USER_FEDERATED_IDENTITY = "admin/realms/{realm-name}/users/{id}/federa
URL_ADMIN_EVENTS = 'admin/realms/{realm-name}/events' URL_ADMIN_EVENTS = 'admin/realms/{realm-name}/events'
URL_ADMIN_DELETE_USER_ROLE = "admin/realms/{realm-name}/users/{id}/role-mappings/realm" URL_ADMIN_DELETE_USER_ROLE = "admin/realms/{realm-name}/users/{id}/role-mappings/realm"
URL_ADMIN_CLIENT_SESSION_STATS = "admin/realms/{realm-name}/client-session-stats"
Loading…
Cancel
Save