Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions descope/management/sso_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ def __init__(
prompt: Optional[List[str]] = None,
grant_type: Optional[str] = None,
issuer: Optional[str] = None,
groups_priority: Optional[
List[str]
] = None, # list of group names in priority order (first = highest priority)
):
self.name = name
self.client_id = client_id
Expand All @@ -108,6 +111,7 @@ def __init__(
self.prompt = prompt
self.grant_type = grant_type
self.issuer = issuer
self.groups_priority = groups_priority


class SSOSAMLSettings:
Expand All @@ -124,6 +128,9 @@ def __init__(
role_mappings: Optional[List[RoleMapping]] = None,
default_sso_roles: Optional[List[str]] = None,
idp_additional_certs: Optional[List[str]] = None,
groups_priority: Optional[
List[str]
] = None, # list of group names in priority order (first = highest priority)
# NOTICE - the following fields should be overridden only in case of SSO migration, otherwise, do not modify these fields
sp_acs_url: Optional[str] = None,
sp_entity_id: Optional[str] = None,
Expand All @@ -137,6 +144,7 @@ def __init__(
self.idp_additional_certs = idp_additional_certs
self.sp_acs_url = sp_acs_url
self.sp_entity_id = sp_entity_id
self.groups_priority = groups_priority


class SSOSAMLSettingsByMetadata:
Expand All @@ -150,6 +158,9 @@ def __init__(
attribute_mapping: Optional[AttributeMapping] = None,
role_mappings: Optional[List[RoleMapping]] = None,
default_sso_roles: Optional[List[str]] = None,
groups_priority: Optional[
List[str]
] = None, # list of group names in priority order (first = highest priority)
# NOTICE - the following fields should be overridden only in case of SSO migration, otherwise, do not modify these fields
sp_acs_url: Optional[str] = None,
sp_entity_id: Optional[str] = None,
Expand All @@ -160,6 +171,7 @@ def __init__(
self.default_sso_roles = default_sso_roles
self.sp_acs_url = sp_acs_url
self.sp_entity_id = sp_entity_id
self.groups_priority = groups_priority


class SSOSettings(HTTPBase):
Expand Down Expand Up @@ -516,6 +528,7 @@ def _compose_configure_oidc_settings_body(
"prompt": settings.prompt,
"grantType": settings.grant_type,
"issuer": settings.issuer,
"groupsPriority": settings.groups_priority,
},
"domains": domains,
}
Expand Down Expand Up @@ -547,6 +560,7 @@ def _compose_configure_saml_settings_body(
settings.role_mappings
),
"defaultSSORoles": settings.default_sso_roles,
"groupsPriority": settings.groups_priority,
},
"redirectUrl": redirect_url,
"domains": domains,
Expand Down Expand Up @@ -576,6 +590,7 @@ def _compose_configure_saml_settings_by_metadata_body(
settings.role_mappings
),
"defaultSSORoles": settings.default_sso_roles,
"groupsPriority": settings.groups_priority,
},
"redirectUrl": redirect_url,
"domains": domains,
Expand Down
14 changes: 12 additions & 2 deletions descope/management/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -1082,7 +1082,12 @@ def update_email(
"""
response = self._http.post(
MgmtV1.user_update_email_path,
body={"loginId": login_id, "email": email, "verified": verified, "failOnConflict": fail_on_conflict},
body={
"loginId": login_id,
"email": email,
"verified": verified,
"failOnConflict": fail_on_conflict,
},
)
return response.json()

Expand Down Expand Up @@ -1112,7 +1117,12 @@ def update_phone(
"""
response = self._http.post(
MgmtV1.user_update_phone_path,
body={"loginId": login_id, "phone": phone, "verified": verified, "failOnConflict": fail_on_conflict},
body={
"loginId": login_id,
"phone": phone,
"verified": verified,
"failOnConflict": fail_on_conflict,
},
)
return response.json()

Expand Down
3 changes: 3 additions & 0 deletions samples/management/sso_sample_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ def main():
verified_phone="verifiedPhone",
picture="picture",
),
groups_priority=["admin_group", "user_group"],
)
descope_client.mgmt.sso.configure_oidc_settings(tenant_id, settings)
except AuthException as e:
Expand Down Expand Up @@ -76,6 +77,7 @@ def main():
group="groups",
),
role_mappings=[RoleMapping(groups=["grp1"], role_name="rl1")],
groups_priority=["admin_group", "user_group"],
)
descope_client.mgmt.sso.configure_saml_settings(tenant_id, settings)
except AuthException as e:
Expand Down Expand Up @@ -103,6 +105,7 @@ def main():
group="groups",
),
role_mappings=[RoleMapping(groups=["grp1"], role_name="rl1")],
groups_priority=["admin_group", "user_group"],
)
descope_client.mgmt.sso.configure_saml_settings_by_metadata(
tenant_id, settings, domains=["kuki.com"]
Expand Down
8 changes: 8 additions & 0 deletions tests/management/test_sso_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ def test_configure_oidc_settings(self):
verified_phone="verifiedPhone",
picture="picture",
),
groups_priority=["group1"],
),
["domain.com"],
)
Expand Down Expand Up @@ -216,6 +217,7 @@ def test_configure_oidc_settings(self):
"verifiedPhone": "verifiedPhone",
"picture": "picture",
},
"groupsPriority": ["group1"],
},
"domains": ["domain.com"],
},
Expand Down Expand Up @@ -275,6 +277,7 @@ def test_configure_saml_settings(self):
sp_acs_url="http://spacsurl.com",
sp_entity_id="spentityid",
default_sso_roles=["aa", "bb"],
groups_priority=["group1"],
),
"https://redirect.com",
["domain.com"],
Expand Down Expand Up @@ -310,6 +313,7 @@ def test_configure_saml_settings(self):
"spACSUrl": "http://spacsurl.com",
"spEntityId": "spentityid",
"defaultSSORoles": ["aa", "bb"],
"groupsPriority": ["group1"],
},
"redirectUrl": "https://redirect.com",
"domains": ["domain.com"],
Expand Down Expand Up @@ -361,6 +365,7 @@ def test_configure_saml_settings_by_metadata(self):
sp_acs_url="http://spacsurl.com",
sp_entity_id="spentityid",
default_sso_roles=["aa", "bb"],
groups_priority=["group1"],
),
"https://redirect.com",
["domain.com"],
Expand Down Expand Up @@ -393,6 +398,7 @@ def test_configure_saml_settings_by_metadata(self):
"spACSUrl": "http://spacsurl.com",
"spEntityId": "spentityid",
"defaultSSORoles": ["aa", "bb"],
"groupsPriority": ["group1"],
},
"redirectUrl": "https://redirect.com",
"domains": ["domain.com"],
Expand Down Expand Up @@ -427,6 +433,7 @@ def test_configure_saml_settings_with_additional_certs(self):
),
role_mappings=[RoleMapping(groups=["grp1"], role_name="rl1")],
default_sso_roles=["aa", "bb"],
groups_priority=["group1"],
),
"https://redirect.com",
["domain.com"],
Expand Down Expand Up @@ -462,6 +469,7 @@ def test_configure_saml_settings_with_additional_certs(self):
"spACSUrl": None,
"spEntityId": None,
"defaultSSORoles": ["aa", "bb"],
"groupsPriority": ["group1"],
},
"redirectUrl": "https://redirect.com",
"domains": ["domain.com"],
Expand Down
Loading