From 5857512e8af96b6619910d6328f60a0a7b5f3531 Mon Sep 17 00:00:00 2001 From: Matthew Elwell Date: Thu, 14 May 2026 14:25:17 +0100 Subject: [PATCH] Use SAML from flagsmith-private --- api/pyproject.toml | 5 +++-- api/uv.lock | 48 +++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 46 insertions(+), 7 deletions(-) diff --git a/api/pyproject.toml b/api/pyproject.toml index d470d8644028..24f257d66527 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -96,7 +96,7 @@ auth-controller = [ "django-multiselectfield>=1.0.1,<2", ] saml = [ - "pysaml2>=7.4.2,<8.0.0", + "flagsmith-private", ] ldap = [ "flagsmith-ldap", @@ -176,7 +176,8 @@ auth-controller = { git = "https://github.com/flagsmith/flagsmith-auth-controlle flagsmith-ldap = { git = "https://github.com/flagsmith/flagsmith-ldap", tag = "v0.1.2" } workflows-logic = { git = "https://github.com/flagsmith/flagsmith-workflows", tag = "v3.4.0" } licensing = { git = "https://github.com/flagsmith/licensing", tag = "v0.3.0" } -flagsmith-private = { git = "https://github.com/Flagsmith/flagsmith-private", tag = "v0.4.4" } +# TODO: pin to tag once merged (and tagged) +flagsmith-private = { git = "https://github.com/Flagsmith/flagsmith-private", branch = "feat/import-saml" } [tool.uv] required-version = "==0.8.14" diff --git a/api/uv.lock b/api/uv.lock index ee1e690eb986..6f967ec9b5d7 100644 --- a/api/uv.lock +++ b/api/uv.lock @@ -1036,6 +1036,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/f1/63caad7c9222c26a62082f4f777de26389233b7574629996098bf6d25a4d/django_redis-5.4.0-py3-none-any.whl", hash = "sha256:ebc88df7da810732e2af9987f7f426c96204bf89319df4c6da6ca9a2942edd5b", size = 31119, upload-time = "2023-10-01T20:21:33.009Z" }, ] +[[package]] +name = "django-scim2" +version = "0.19.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "django" }, + { name = "scim2-filter-parser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/07/59/da3061607de7be41d7e5bf484acb13510d631f8fcfcecd9f5e02dc5bf4f1/django_scim2-0.19.1.tar.gz", hash = "sha256:8126111160e76a880f6699babc5259f0345c9316c8018ce5dcc3f7579ccb9e89", size = 26988, upload-time = "2023-05-18T01:13:04.017Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/24/ca2cab008049239585434f7451a42757d7d258bf741316fd16587e564b74/django_scim2-0.19.1-py3-none-any.whl", hash = "sha256:845eaa64e72e4ddfe2aa54d21865721f8c1d59ecd9c06e72341eeb03ed6ba94e", size = 32072, upload-time = "2023-05-18T01:13:01.751Z" }, +] + [[package]] name = "django-ses" version = "3.5.0" @@ -1492,7 +1505,7 @@ release-pipelines = [ { name = "flagsmith-private" }, ] saml = [ - { name = "pysaml2" }, + { name = "flagsmith-private" }, ] workflows = [ { name = "workflows-logic" }, @@ -1552,7 +1565,8 @@ requires-dist = [ { name = "flagsmith-common", extras = ["test-tools"], marker = "extra == 'dev'" }, { name = "flagsmith-flag-engine", specifier = ">=10.1.0,<11.0.0" }, { name = "flagsmith-ldap", marker = "extra == 'ldap'", git = "https://github.com/flagsmith/flagsmith-ldap?tag=v0.1.2" }, - { name = "flagsmith-private", marker = "extra == 'release-pipelines'", git = "https://github.com/Flagsmith/flagsmith-private?tag=v0.4.4" }, + { name = "flagsmith-private", marker = "extra == 'release-pipelines'", git = "https://github.com/Flagsmith/flagsmith-private?branch=feat%2Fimport-saml" }, + { name = "flagsmith-private", marker = "extra == 'saml'", git = "https://github.com/Flagsmith/flagsmith-private?branch=feat%2Fimport-saml" }, { name = "google-api-python-client", specifier = ">=1.12.5,<1.13.0" }, { name = "google-re2", specifier = ">=1.0,<2.0.0" }, { name = "gunicorn", specifier = ">=23.0.0,<23.1.0" }, @@ -1580,7 +1594,6 @@ requires-dist = [ { name = "pyngo", specifier = ">=2.4.1,<2.5.0" }, { name = "pyotp", specifier = ">=2.9.0,<3.0.0" }, { name = "pyparsing", specifier = ">=2.4.7,<2.5.0" }, - { name = "pysaml2", marker = "extra == 'saml'", specifier = ">=7.4.2,<8.0.0" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=7.2.1,<7.3.0" }, { name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=4.1.0,<4.2.0" }, { name = "pytest-django", marker = "extra == 'dev'", specifier = ">=4.8.0,<5.0.0" }, @@ -1692,8 +1705,12 @@ source = { git = "https://github.com/flagsmith/flagsmith-ldap?tag=v0.1.2#2456465 [[package]] name = "flagsmith-private" -version = "0.1.0" -source = { git = "https://github.com/Flagsmith/flagsmith-private?tag=v0.4.4#a5318e69b5712307e3204a57ecebb64995526200" } +version = "0.5.1" +source = { git = "https://github.com/Flagsmith/flagsmith-private?branch=feat%2Fimport-saml#fe0267873b5d58398fd032fd4019d36730301655" } +dependencies = [ + { name = "django-scim2" }, + { name = "pysaml2" }, +] [[package]] name = "freezegun" @@ -3625,6 +3642,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/66/05/7957af15543b8c9799209506df4660cba7afc4cf94bfb60513827e96bed6/s3transfer-0.10.4-py3-none-any.whl", hash = "sha256:244a76a24355363a68164241438de1b72f8781664920260c48465896b712a41e", size = 83175, upload-time = "2024-11-20T21:06:03.961Z" }, ] +[[package]] +name = "scim2-filter-parser" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sly" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/c0/2f4d5caee8faa8f0d0979584c4aab95fa69d626d6f9d211dd6bb7089bc2f/scim2_filter_parser-0.7.0.tar.gz", hash = "sha256:1e11dbe2e186fc1be6d93732b467a3bbaa9deff272dfeb3a0540394cfab7030c", size = 21358, upload-time = "2024-07-20T16:38:23.2Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/54/b54961bfc5018fa593758c439fe0d4a22fbadfabff49a7559850af9a79e1/scim2_filter_parser-0.7.0-py3-none-any.whl", hash = "sha256:a74f90a2d52a77e0f1bc4d77e84b79f88749469f6f7192d64a4f92e4fe50ab69", size = 23409, upload-time = "2024-07-20T16:38:21.525Z" }, +] + [[package]] name = "segment-analytics-python" version = "2.2.3" @@ -3741,6 +3770,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/46/74/7ba1e759c091e302eb48894efad853076936144777fc05f0baa851794de4/slack_sdk-3.9.1-py2.py3-none-any.whl", hash = "sha256:8c4b553d63ee18d72e67b80bec3257bab4feef17653374dbd877fa59f5b5aa2f", size = 250593, upload-time = "2021-08-17T11:05:25.526Z" }, ] +[[package]] +name = "sly" +version = "0.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/8a/59e943f7b27904c7756a7b565ffbd55f3841f5cd3d2da2b2b0713c49e488/sly-0.5.tar.gz", hash = "sha256:251d42015e8507158aec2164f06035df4a82b0314ce6450f457d7125e7649024", size = 66702, upload-time = "2022-10-25T14:35:30.592Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/4d/c96d807295183f2360329cd8d8bf5e8072c53d664125b3858c04153f026e/sly-0.5-py3-none-any.whl", hash = "sha256:20485483259eec7f6ba85ff4d2e96a4e50c6621902667fc2695cc8bc2a3e5133", size = 28864, upload-time = "2022-10-25T14:35:28.054Z" }, +] + [[package]] name = "social-auth-app-django" version = "5.6.0"