Saltar al contenido
supastack
Explorar la documentación
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /es/docs/web/google-sign-in.md (or send Accept: text/markdown).

Añadir el inicio de sesión con Google

Crea un cliente OAuth de Google Cloud gratuito y conecta «Continuar con Google» a la app.

Guía paso a paso para principiantes

Prerrequisitos: la app web corriendo en local (Lanza en 5 minutos) y una base de datos migrada para cuentas reales (Configurar la base de datos). Necesitas una cuenta de Google normal; todo aquí es gratis y lleva unos 10 minutos.

Términos rápidos: OAuth es el estándar en el que Google inicia la sesión del usuario en la página de Google y entrega una prueba a tu app. Un proyecto de Google Cloud es un contenedor en la consola de Google que guarda las credenciales de tu app. La pantalla de consentimiento OAuth es la página que Google muestra a los usuarios antes de devolverlos. Un client ID identifica tu app ante Google; el client secret es su contraseña y se queda en el servidor.

1. Crea un proyecto de Google Cloud. 2. Configura la pantalla de consentimiento. 3. Crea un cliente OAuth Web y copia su ID y secreto. 4. Pega tres valores en apps/web/.env.local y reinicia el servidor de desarrollo.

Un solo proyecto basta para todo el producto: el mismo proyecto de Google Cloud alojará después tu despliegue en Cloud Run, y el inicio de sesión móvil pasa por el mismo backend web — no creas un cliente separado por plataforma o función.

Crear el proyecto de Google Cloud

1. Abre console.cloud.google.com e inicia sesión con tu cuenta de Google.

2. Haz clic en el desplegable de proyecto de la barra superior (junto al logo de Google Cloud) y elige New Project.

3. Dale un nombre — el nombre de tu producto vale — y haz clic en Create. No se necesita organización, tarjeta ni cuenta de facturación para las credenciales de inicio de sesión.

Esperado: la consola se recarga en el nuevo proyecto y su nombre aparece en la barra superior. Reutiliza este proyecto cuando llegues a la guía de despliegue en lugar de crear otro.

Crear el cliente OAuth

1. Abre APIs & Services → Credentials → + Create Credentials → OAuth client ID.

2. Pon Application type en Web application y llámalo algo como supastack local.

3. En Authorized JavaScript origins añade http://localhost:3000. En Authorized redirect URIs añade http://localhost:3000/api/auth/callback/google — esa ruta de callback pertenece a Better Auth, el motor de autenticación por defecto del kit: {APP_URL}/api/auth/callback/google.

4. Haz clic en Create y copia el Client ID y el Client Secret del diálogo. Puedes reabrirlos en la página del cliente más tarde, pero copiarlos ahora te ahorra un paso.

Para producción crea un segundo cliente Web (recomendado) o añade a este: origen JavaScript https://yourdomain.com y URI de redirección https://yourdomain.com/api/auth/callback/google. Mantener clientes separados por entorno significa que un secreto local filtrado no puede llegar a producción.

Añadir los valores a la app

Abre apps/web/.env.local — Next.js lee este archivo, no el .env de la raíz — y escribe las tres líneas de abajo. AUTH_GOOGLE_ENABLED=true enciende el botón; el par cliente identifica tu cliente de Google Cloud.

El client secret es solo de servidor: nunca debe aparecer en una variable NEXT_PUBLIC_ o EXPO_PUBLIC_ ni subirse a Git. En producción, define los mismos tres nombres en el almacén de secretos de tu host en lugar de un archivo env.

Reinicia el servidor de desarrollo tras editar — los cambios de entorno solo se leen al arrancar.

# apps/web/.env.local
AUTH_GOOGLE_ENABLED=true
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret

Verificar y solucionar problemas

Abre http://localhost:3000/auth, haz clic en el botón de Google, completa la pantalla de consentimiento de Google y confirma que la app vuelve con la sesión iniciada.

redirect_uri_mismatch significa que la URI de redirección registrada en Google no coincide exactamente — revisa el protocolo (http vs https), el puerto y la ruta: debe terminar en /api/auth/callback/google, no en /callback/google/ ni en una variante con barra final.

Access blocked / has not completed the Google verification process significa que la pantalla de consentimiento sigue en Testing y la cuenta que inicia sesión no está en Test users — añádela en la sección Audience.

Si falta el botón de Google o el inicio de sesión sigue fallando tras editar .env.local, reinicia el servidor de desarrollo. Si el arranque falla nombrando una variable, el flag está activo sin su par de cliente completo.

Si quieres continuar la configuración, lee Añadir el inicio de sesión con GitHub.

Preguntas frecuentes

14 preguntas

¿Qué es supastack?

supastack es una base modular para construir productos SaaS con IA. Reúne la infraestructura común para que puedas centrarte en las funciones propias de tu producto.

¿Soporta web y móvil?

Sí. supastack incluye apps Next.js y Expo como puntos de partida para experiencias web y móviles.

¿Qué autenticación incluye?

Better Auth cubre correo/contraseña, OTP e inicio social. Los espacios de trabajo personales se aprovisionan con la cuenta para que los registros permanezcan delimitados desde el primer día.

¿Cómo se soporta la IA?

supastack incluye IA multi-proveedor configurable, seguimiento de uso, presupuestos y soporte cifrado de claves propias (BYOK).

¿Cómo se gestionan las suscripciones?

Para productos construidos sobre el kit, la facturación Stripe, las suscripciones y los permisos forman la base del acceso de pago. Los secretos de proveedor permanecen en el servidor.

¿Dónde vive el código propio de mi producto?

Las funciones propias del producto permanecen en un codebase separado, mientras el producto configura e integra los módulos base de supastack.

¿Cómo funciona el precio de supastack?

El kit es una compra única con actualizaciones de por vida: Un framework a 249 $ (precio de lanzamiento temporal — 100 $ de descuento sobre el precio habitual de 349 $) o Todos los frameworks (Next.js, iOS, Android) a 499 $ (precio de lanzamiento temporal — 100 $ de descuento sobre el precio habitual de 599 $), más 75 $ por plaza de desarrollador adicional. Sin suscripción al kit. El pago en este sitio entrega tu clave de licencia por correo, con acceso al repositorio por invitación de GitHub.

¿Cómo delimitan los espacios de trabajo mis datos?

Los registros del usuario se delimitan por workspaceId. Identidad, permisos, uso de IA, eventos de facturación y entradas de auditoría permanecen dentro del límite del espacio personal.

¿Cómo funcionan los jobs en segundo plano?

Trigger.dev es el runtime de jobs explícito. El contrato JobRunner solo promete enqueue, status y cancel — la semántica de workflow sigue siendo específica y explícita de Trigger.dev.

¿En qué se diferencia el email de la divulgación?

El email transaccional cubre flujos de producto como avisos de finalización de tareas. La divulgación en frío y las campañas pertenecen al producto, fuera del módulo de email de este kit.

¿Cómo funcionan las compras móviles?

La app móvil incluye compras nativas y restauración con RevenueCat, con acceso verificado por tu servidor. Configura las cuentas de las tiendas y completa las pruebas en dispositivos antes de publicar. La facturación web es independiente.

¿Dónde residen las claves de los proveedores de IA?

Las credenciales BYOK están cifradas y permanecen en el servidor. Las claves se saneen en los logs; el uso y los presupuestos siguen visibles a nivel de espacio de trabajo.

¿Qué métodos de pago acepta el checkout?

El checkout alojado en Stripe acepta tarjetas y, una vez activadas las billeteras en la cuenta de Stripe, también puede ofrecer Alipay y WeChat Pay — muy útil para compradores en China. Las autorizaciones de billetera se confirman de forma asíncrona, por lo que la página de la licencia se actualiza en cuanto se liquida el pago.

¿Puedo obtener un reembolso?

Una vez que tienes acceso al repositorio, supastack es tuyo para siempre, por lo que no se puede reembolsar. Pero no te preocupes: obtienes el código fuente completo con actualizaciones de por vida para crear y lanzar productos ilimitados para ti o tus clientes. Solo no puedes revender el código ni redistribuir el repositorio como plantilla o starter kit.

ES
Tema