Skip to content

feat(oidc): hosted login and consent pages with no-build branding #406

Closed

Description

@Bccorb

Why

An authorization endpoint needs a login UI the API serves itself. Theming must not need a build step or break on upgrade.

What

  • Hosted sign-in supporting every enabled method (passkeys, magic link, OTP, TOTP, recovery)
  • Consent page for third-party clients
  • Branding through design tokens and CSS variables set in system config: logo, colors, fonts, app name
  • Accessible (WCAG 2.2 AA)

Done when

The hosted pages cover every enabled method and are branded without code.

Activity

  1. added this to the v0.21 milestone on Oct 13, 2026
  2. added
    P1Security work outside the FIDO2 track
    on Oct 13, 2026
  3. added theissue type on Oct 13, 2026
  4. added
    easyServes the easy-to-integrate promise
    v0.21Targets the v0.21 release
    on Oct 13, 2026
  5. Bccorb commented on Oct 30, 2026

    @Bccorb
    ContributorAuthor

    Architecture for this is settled in ADR 0001 (#520). The OpenID Provider runs in a separate public login edge (new repo, seamless-auth-oidc-provider) that signs users in through the first-party routes. The auth API stays private and cookie-free. See D3, D7 and D8. The hosted pages are a SPA in the edge repo on @seamless-auth/react, using the first-party routes. On the API: only the hosted_ui system_config key.

  6. Bccorb commented on Nov 1, 2026

    @Bccorb
    ContributorAuthor

    Shipped in v0.21.0. The hosted login and consent pages are in the edge (seamless-auth-oidc-provider#14), branded from the hosted_ui system config with no build step (seamless-auth-oidc-provider#17, API #532). Branding is documented under "Brand The Hosted Pages". An accessibility audit against WCAG 2.2 AA has not been done; it will be tracked on its own issue. Closing. The audit is tracked in fells-code/seamless-auth-oidc-provider (new issue).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Security work outside the FIDO2 trackeasyServes the easy-to-integrate promisev0.21Targets the v0.21 release

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions