feat(saml): Local saml encryption config - #8311
Conversation
…/check-assertion-type
…acs' into auth/pm-42627/check-assertion-type
…local-saml-encryption-config
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## auth/pm-42627/check-assertion-type #8311 +/- ##
===================================================================
Coverage 64.02% 64.02%
===================================================================
Files 2472 2472
Lines 105980 105980
Branches 9610 9610
===================================================================
Hits 67858 67858
Misses 35763 35763
Partials 2359 2359 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
🤖 Bitwarden Claude Code ReviewOverall Assessment: REQUEST CHANGES Reviewed a local-development-only change that adds an optional SimpleSAMLphp SP metadata override so the local IdP can encrypt SAML assertions. The new Code Review Details
|
| SIMPLESAMLPHP_SP_SINGLE_LOGOUT_SERVICE: null | ||
| volumes: | ||
| - ./authsources.php:/var/www/simplesamlphp/config/authsources.php | ||
| - ./saml20-sp-remote.php:/var/www/simplesamlphp/metadata/saml20-sp-remote.php |
There was a problem hiding this comment.
--profile idp user, and the failure mode is silent.
Details and fix
dev/saml20-sp-remote.php is gitignored and nothing creates it. When the host path is missing, the Docker daemon creates an empty directory at dev/saml20-sp-remote.php (default create_host_path: true), which then shadows the image-generated metadata file.
SimpleSAMLphp's flatfile metadata handler passes file_exists() on a directory, then include() fails and it throws Could not load metadata set [saml20-sp-remote] — so SSO breaks for anyone who pulls this branch with an already-working IdP setup, with an error that doesn't point back to the missing file.
Options:
- Ship a tracked default
dev/saml20-sp-remote.php(encryptionFALSE, placeholdercertData) instead of gitignoring it, so the mount always resolves; or - Add the copy step alongside the existing IdP setup steps in
dev/.env.exampleandutil/Seeder/Seeds/docs/regression.md(the "SSO login wiring" list), not only the external contributing docs.
The authsources.php mount has the same shape, but it is required for the IdP to be useful at all, so first-time setup already covers it — this file is optional-by-default yet mounted unconditionally.
|
Abandoned/unstacked for #8319 |
🎟️ Tracking
PM-42627
📔 Objective
Note
This needs an accompanying change to contributing docs to call out.
dev/saml20-sp-remote.php.exampleincluded following theauthsources.phpconfiguration and SimpleSaml documentation.