@@ -53,3 +53,45 @@ def create(self, username, **kwargs):
5353 ),
5454 data = json .dumps (payload )
5555 )
56+
57+ def all (self ):
58+ """
59+ Return all registered users
60+
61+ http://www.keycloak.org/docs-api/3.4/rest-api/index.html#_users_resource
62+ """
63+ return self ._client .get (
64+ url = self ._client .get_full_url (
65+ self .get_path ('collection' , realm = self ._realm_name )
66+ )
67+ )
68+
69+ def by_id (self , user_id ):
70+ return User (realm_name = self ._realm_name ,
71+ user_id = user_id , client = self ._client )
72+
73+
74+ class User (KeycloakAdminBase ):
75+ _paths = {
76+ 'single' : '/auth/admin/realms/{realm}/users/{user_id}'
77+ }
78+
79+ def __init__ (self , realm_name , user_id , * args , ** kwargs ):
80+ self ._realm_name = realm_name
81+ self ._user_id = user_id
82+
83+ super (User , self ).__init__ (* args , ** kwargs )
84+
85+ def get (self ):
86+ """
87+ Return registered user with the given user id.
88+
89+ http://www.keycloak.org/docs-api/3.4/rest-api/index.html#_users_resource
90+ """
91+ return self ._client .get (
92+ url = self ._client .get_full_url (
93+ self .get_path (
94+ 'single' , realm = self ._realm_name , user_id = self ._user_id
95+ )
96+ )
97+ )
0 commit comments