stack/apps
Bilal Godil c1b7bed261 feat(backend): extract email-merge helper and add SAML account helpers
Splits the email-merge strategy out of oauth.tsx into a small shared
external-auth.tsx so the upcoming SAML ACS handler can reuse the same
contact-channel lookup + link_method/raise_error/allow_duplicates switch
without duplicating it.

Also adds saml-account.tsx with the SAML-side parallel of OAuth's
findExisting / link / create user-linking helpers, operating on
ProjectUserSamlAccount and SamlAuthMethod. Each helper is keyed by
(tenancyId, samlConnectionId, nameId), so a NameID arriving from a
different connection is treated as a separate identity — connection
isolation is enforced at the DB level.

Schema strategy fallback: handleSamlEmailMergeStrategy reads
tenancy.config.auth.saml.accountMergeStrategy if set, otherwise falls
back to the OAuth strategy. The SAML config field will be added with
the project config schema work.

Adds @xmldom/xmldom and xpath as direct backend deps for the upcoming
SAML protocol wrapper (currently transitive through @node-saml/node-saml).
2026-04-29 16:46:22 -07:00
..
backend feat(backend): extract email-merge helper and add SAML account helpers 2026-04-29 16:46:22 -07:00
dashboard fix(dashboard): UI bug fixes (#1377) 2026-04-28 18:49:28 -07:00
dev-launchpad chore: update package versions 2026-04-20 19:06:56 -07:00
e2e feat: wire mock-saml-idp into CI, snapshots, and seed dummy data 2026-04-29 16:38:03 -07:00
hosted-components chore: update package versions 2026-04-20 19:06:56 -07:00
internal-tool Dashboard: DataGrid refactor + layout (stacked on overview-revamp) (#1338) 2026-04-27 13:50:24 -07:00
mock-oauth-server fix(emulator): move mock OAuth off 8114 to avoid pnpm dev conflict (#1385) 2026-04-27 09:39:34 -07:00
mock-saml-idp feat(mock-saml-idp): scaffold mock SAML 2.0 IdP for SAML SSO testing 2026-04-29 16:38:03 -07:00
oauth-mock-server In-source unit tests (#429) 2025-02-14 11:47:52 -08:00