Skip to content

[F3-02] Autenticación: Google OAuth + email/contraseña (Better Auth) #40

Open

Description

@JCCG-code

Fase: F3 · Tamaño: M · Depende de: #34 (F3-01)
Decisiones: D-02 y D-11 en #1

Objetivo

Registro, inicio de sesión y sesiones seguras para creadores.

Alcance

  • Better Auth con adaptador MongoDB, montado en /api/auth/*.
  • Google OAuth (cliente OAuth de Google Identity, sin otros servicios de Google Cloud).
  • Email + contraseña con verificación de email y recuperación de contraseña.
  • Sesiones en cookie httpOnly, Secure, SameSite=Lax.
  • Middleware requireAuth que añade req.user.
  • Transporte de email intercambiable: consola en desarrollo; el proveedor real se elige en F8.
  • Al crear un usuario se crea su UserSettings con el idioma del navegador (es/en).

Criterios de aceptación

  • Test de API: registro → verificación (enlace capturado del transporte de consola) → login → GET /api/v1/me 200 → logout → GET /api/v1/me 401.
  • Test: sin verificar el email, el login devuelve el error documentado.
  • Test: recuperación de contraseña completa con el transporte de consola.
  • La cookie de sesión tiene HttpOnly; Secure; SameSite=Lax en producción.
  • Prueba manual documentada en el PR: login con una cuenta de Google real en local.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions