stack/apps
Bilal Godil cbd2e3fca3 feat(backend): add SAML SSO Prisma models + migration
Adds three tables to back per-user SAML accounts and the in-flight
AuthnRequest temp store:

- ProjectUserSamlAccount (mirrors ProjectUserOAuthAccount): one row per
  (tenancy, samlConnectionId, NameID). The unique constraint on
  (tenancyId, samlConnectionId, nameId) is what enforces multi-tenant
  connection isolation at the DB level — the same NameID from a
  different connection is treated as a distinct identity.

- SamlAuthMethod (mirrors OAuthAuthMethod): connects an AuthMethod to a
  ProjectUserSamlAccount via composite FK.

- SamlOuterInfo (mirrors OAuthOuterInfo): keyed by AuthnRequest ID so
  the ACS handler can look up the original context when the IdP POSTs
  the assertion back via the browser. ID is TEXT (not UUID) because
  SAML AuthnRequest IDs are XML xs:ID strings.

Per-connection config (entity ID, IdP cert, ACS URL, attribute mapping,
domain) is intentionally NOT a Prisma model — it lives in
tenancy.config.auth.saml.connections JSON, matching how OAuth provider
config (clientId/clientSecret) is stored.
2026-04-29 16:46:22 -07:00
..
backend feat(backend): add SAML SSO Prisma models + migration 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