Skip to content

feat: add OAuth provider HTTP flow - #1687

Draft
Zetazzz wants to merge 1 commit into
constructive-io:feat/oauth-sso-graphqlfrom
Zetazzz:feat/oauth-provider-http
Draft

feat: add OAuth provider HTTP flow#1687
Zetazzz wants to merge 1 commit into
constructive-io:feat/oauth-sso-graphqlfrom
Zetazzz:feat/oauth-provider-http

Conversation

@Zetazzz

@Zetazzz Zetazzz commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add the stable Provider-start GraphQL mutation and persist Tenant-local OAuth state, S256 PKCE verifier, nonce, callback URI, browser binding, and unified-transaction association before navigation
  • mount only the OAuth-enabled authorize and callback browser routes; consume state before handling Provider code/error and keep Provider tokens server-side
  • resolve enabled Tenant Provider configuration through the existing Express Context loader and protocol-neutral adapter boundary
  • apply normalized identities through a fixed DB wrapper contract that owns connected-account matching/provisioning and fail-closed strict-auth exclusion
  • set only a Secure, HttpOnly, host-only auth-center cookie and render safe restart failures
  • redact OAuth state/code/error plus handoff/token query values from request logs

Stack

Base: feat/oauth-sso-graphql / #1686. This is PR 5 of the OAuth/SSO platform-integration stack.

The runtime operations depend on matching Tenant-private Constructive DB functions for Provider request start/read/consume and normalized identity completion. Shared Site handoff creation/redemption is intentionally PR 6; until then a successful callback uses the safe terminal success page when no continuation is returned.

Validation

  • @constructive-io/graphql-server: 19 suites / 167 tests
  • @constructive-io/express-context: 5 suites / 34 tests
  • OAuth/SSO errors contract: 17 tests
  • builds: express-context, errors, graphql-server, graphql-server-test
  • lint for affected packages (existing warnings only)
  • offline frozen-lockfile validation
  • git diff --check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant