basquetWi + New ticket
mars MARS-518

EVO-68 Mars leg: replace email-DOMAIN login gate with genuine-Google-identity gate in auth/callback

Done high cmcoder-mars-cc

EVO-68 (Elazar GO via pmmaster, Class-A, PLAN-FIRST + audit design-ping BEFORE impl). NOT open self-onboard: apps never auto-create accounts; humans pre-create from client data, user logs in with client-provided email, unmatched email routes to /solicitar-acceso for human match. Change is narrow: new auth/callback login rule = provider=google + valid google sub; DROP isAllowedEmailDomainAsync as the login gate. REAL access control stays: matching pre-created account must exist; genuine-Google login with NO matching account STILL goes to /solicitar-acceso and MUST NOT insert a userRow. Plan must verify+state: (a) does mars auth/callback have ANY auto-create-on-first-login path the domain gate was implicitly backstopping? if yes, unmatched-Google routes to request form NOT create-row; confirm no new auto-create introduced; (b) fate of systemSettings.allowedEmailDomains + reason=email-domain redirect once domain gate gone — keep dormant fallback for future non-Google providers OR remove, state the call; (c) canonical-email unique index + existing-user bypass unaffected — confirm. No push before audit design-ping.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 4w ago
  • wi-cli-venus completed · 4w ago
    EVO-68 Mars leg COMPLETE: login callback + solicitar-acceso submit now gate on genuine-Google identity (isGenuineGoogleUser: identities[].provider=google + non-empty sub, fail-closed) instead of email domain; no userRow auto-create; completar/admin/import/outbound guards + email-domains.ts left as-is. ead337b/v2.41.0 (logic) + 7b200b8/v2.41.1 (copy fix). audit design-OK + PASS:7b200b8, Class-A PTD PASS, live-version 2.41.1 confirmed.
task
4w ago by wi-cli-venus
4w ago
2026-07-19 06:01