diff --git a/src/keycloak/admin/users.py b/src/keycloak/admin/users.py index 208942a..3a659c7 100644 --- a/src/keycloak/admin/users.py +++ b/src/keycloak/admin/users.py @@ -10,6 +10,7 @@ 'first_name', 'last_name', 'email_verified', + 'required_actions', 'attributes', 'realm_roles', 'client_roles', @@ -42,6 +43,7 @@ def create(self, username, **kwargs): :param str last_name: (optional) :param str email: (optional) :param boolean enabled: (optional) + :param list[str] required_actions: (optional) """ payload = OrderedDict(username=username) @@ -133,6 +135,7 @@ def update(self, **kwargs): :param str last_name: last_name for user :param str email: Email for user :param bool email_verified: User email verified + :param list[str] required_actions: Sets required actions :param Map attributes: Atributes in user :param string array realm_roles: Realm Roles :param Map client_roles: Client Roles diff --git a/tests/keycloak/admin/test_users.py b/tests/keycloak/admin/test_users.py index 337eddd..dca925d 100644 --- a/tests/keycloak/admin/test_users.py +++ b/tests/keycloak/admin/test_users.py @@ -20,7 +20,8 @@ def test_create(self): first_name='my-first-name', last_name='my-last-name', email='my-email', - enabled=True + enabled=True, + required_actions=['action'] ) self.realm.client.get_full_url.assert_called_once_with( '/auth/admin/realms/realm-name/users' @@ -37,6 +38,7 @@ def test_create(self): '"enabled": true, ' '"firstName": "my-first-name", ' '"lastName": "my-last-name", ' + '"requiredActions": ["action"], ' '"username": "my-username"' '}', headers={ @@ -92,7 +94,8 @@ def test_update(self): first_name='my-first-name', last_name='my-last-name', email='my-email', - enabled=True + enabled=True, + required_actions=['action'] ) self.realm.client.get_full_url.assert_called_with( '/auth/admin/realms/realm-name/users/user-id' @@ -109,7 +112,8 @@ def test_update(self): '"enabled": true, ' '"firstName": "my-first-name", ' '"id": "user-id", ' - '"lastName": "my-last-name"' + '"lastName": "my-last-name", ' + '"requiredActions": ["action"]' '}', headers={ 'Authorization': 'Bearer some-token',