From 2d5ba5bc973090726bf707a0f22dbf2fb78eaa19 Mon Sep 17 00:00:00 2001 From: Aki Koskinen Date: Fri, 13 Aug 2021 11:01:28 +0300 Subject: [PATCH] Add "requiredActions" to recognized User attribute names Required actions can be set in User creation and update. --- src/keycloak/admin/users.py | 3 +++ tests/keycloak/admin/test_users.py | 10 +++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) 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',