Skip to content

fix(auth): preserve legacy student accounts with Google#24

Draft
WILLIAMMDN wants to merge 1 commit into
mainfrom
codex/legacy-google-link
Draft

fix(auth): preserve legacy student accounts with Google#24
WILLIAMMDN wants to merge 1 commit into
mainfrom
codex/legacy-google-link

Conversation

@WILLIAMMDN

Copy link
Copy Markdown
Owner

Qu? cambia

  • a?ade un flujo expl?cito para vincular una identidad Google/Firebase con una cuenta hist?rica usando usuario y contrase?a local;
  • conserva el mismo registro, XP, DAEMONS, matr?culas y progreso;
  • evita crear cuentas Google nuevas de forma silenciosa y exige una elecci?n expl?cita;
  • elimina ?nicamente placeholders Google incompletos y bloquea conflictos de correo, Firebase UID, Google ID o rol;
  • limita el endpoint a identidades verificadas del proveedor google.com;
  • documenta el diagn?stico de procesos locales con variables de entorno obsoletas y fija jose123 / 1234 como credencial can?nica de QA.

Causa ra?z

El proceso Laravel que llevaba horas escuchando en localhost:8000 hab?a heredado una configuraci?n anterior. Aunque la CLI actual ve?a Supabase y FIREBASE_PROJECT_ID=daemon-a41f8, ese proceso consultaba otro estado y respond?a 422 tanto para jose123 como para Firebase. Adem?s, una cuenta legacy sin email o Firebase UID no pod?a vincularse a Google de forma segura.

Impacto

El acceso local tradicional vuelve a funcionar despu?s de reiniciar el backend con el entorno actual. Cuando este PR se integre, un alumno podr? asociar Google a su cuenta anterior sin perder datos y sin riesgo de vinculaci?n por simple coincidencia de nombre.

Validaci?n

  • php artisan test: 141 pruebas, 499 aserciones
  • pruebas espec?ficas Firebase/legacy: 19 pruebas, 67 aserciones
  • npm run test:ci: 39 pruebas
  • npm run build: bundle inicial 919.89 kB
  • prueba HTTP local: jose123 / 1234 devuelve 200
  • prueba visual local: acceso a /alumno y carga de XP, DAEMONS y ranking correctos
  • escaneo del diff: sin service accounts, claves de Supabase, Resend ni tokens

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