🔑 ¿Qué es el Login con Google?
El Login con Google permite que los usuarios accedan a tu aplicación usando su cuenta de Google, sin crear una contraseña nueva. Se basa en el estándar OAuth 2.0 y OpenID Connect (OIDC).
- El usuario no necesita crear ni recordar contraseñas
- La seguridad (2FA, detección de bots) la gestiona Google
- Accedes al nombre, email y foto de perfil del usuario
- Aumenta la conversión y reduce el abandono del registro
- Protección automática contra fuerza bruta y phishing
Protocolo de autorización que permite a una app obtener acceso limitado a recursos de un usuario en otro servicio (Google, GitHub, Facebook…) sin necesitar su contraseña.
OpenID Connect (OIDC) se construye sobre OAuth 2.0 y agrega la capa de identidad del usuario (quién es, no solo qué puede hacer).
Paso 1 — Crear proyecto en Google Cloud Console
- Ir a console.cloud.google.com
- Crear o seleccionar un proyecto
- Ir a APIs y servicios → Credenciales
- Clic en "Crear credenciales" → "ID de cliente OAuth"
- Tipo de aplicación: Aplicación web
- Agregar
http://localhostcomo origen autorizado (desarrollo) - Agregar tu dominio real en producción
- Se generan: Client ID y Client Secret
Paso 2 — Implementar con Google Identity Services (JavaScript)
Paso 3 — Verificar el token en el servidor (PHP)
Scopes — qué información puedes solicitar
openid — Autenticación básica (siempre requerido)email — Correo electrónico del usuarioprofile — Nombre y foto de perfilhttps://www.googleapis.com/auth/calendar — Google Calendarhttps://www.googleapis.com/auth/drive — Google Drivehttps://mail.google.com/ — GmailTipos de tokens en OAuth 2.0
| Token | Para qué sirve | Duración |
|---|---|---|
| Authorization Code | Código temporal que Google devuelve al redirigir al usuario | ~10 min (un solo uso) |
| Access Token | Acceder a los recursos de la API (Calendar, Drive…) | ~1 hora |
| ID Token (JWT) | Contiene la identidad del usuario (email, nombre, foto) | ~1 hora |
| Refresh Token | Obtener nuevos access tokens sin re-autenticar al usuario | Largo plazo (revocable) |
⚙️ Simulador del Flujo OAuth
Haz clic en Iniciar simulación para ver cómo funciona el proceso paso a paso.
Así luce el botón oficial de Google en tu aplicación:
⚖️ Pros y Contras del Login con Google
Antes de implementarlo, evalúa si es la decisión correcta para tu proyecto.
- ✔Sin contraseñas que recordar — el usuario entra con su cuenta de Google existente, cero fricción.
- ✔Seguridad delegada a Google — 2FA, detección de bots, alertas de actividad sospechosa y protección contra phishing quedan en manos de Google.
- ✔Tu app no almacena contraseñas — cero riesgo de filtración de hashes en tu base de datos.
- ✔Datos verificados del usuario — email, nombre y foto de perfil ya confirmados por Google.
- ✔Implementación rápida — con Google Identity Services (GIS) solo se necesitan ~10 líneas de código en el frontend.
- ✔Gratuito — dentro de las cuotas generosas de la API de Google (millones de solicitudes).
- ✔Mayor conversión — los formularios de registro tradicionales tienen alta tasa de abandono; un solo clic mejora la conversión.
- ✔Multiplataforma — funciona en web, Android, iOS y aplicaciones de escritorio.
- ✘Dependencia de Google — si Google cae o depreca su API, tu login falla. No controlas el uptime.
- ✘Privacidad del usuario — Google registra qué usuarios acceden a tu app y con qué frecuencia.
- ✘No todos tienen cuenta Google — usuarios mayores, en países con restricciones (China) o que prefieren privacidad quedan excluidos.
- ✘Configuración inicial confusa — Google Cloud Console puede intimidar a principiantes (proyectos, credenciales, orígenes autorizados…).
- ✘Límite de 100 usuarios en modo "Testing" — hasta que Google verifique tu app, solo los testers registrados pueden iniciar sesión.
- ✘Gestión de tokens — el Access Token expira en ~1 hora; necesitas lógica de refresh tokens para sesiones largas.
- ✘Bloqueado en algunas redes — firewalls corporativos, escolares o nacionales (China, Irán) pueden bloquear
accounts.google.com. - ✘SDKs adicionales en móviles — en Android e iOS se necesita integrar el SDK de Google Sign-In, que agrega dependencias al proyecto.
Apps B2C con audiencia amplia, plataformas educativas, herramientas SaaS donde la mayoría de usuarios ya usan Google Workspace. Ideal cuando la conversión y la experiencia de usuario son prioridad.
Apps para usuarios en China u otros países con bloqueo a Google. Sistemas donde la privacidad extrema es requisito. Plataformas para personas mayores sin cuenta Google. En estos casos, ofrece también login tradicional con email y contraseña.
🚧 ¿Por qué bloquean el Login con Google?
Hay dos tipos de bloqueos: técnicos (errores de configuración que tú puedes corregir) y externos (redes, políticas o países que bloquean Google). Aquí está cada uno con su solución.
Google OAuth solo funciona en producción con https://. Con http:// da el error "Not a valid origin".
localhost para desarrollo.El error más frecuente. La URL de redirección en el código no coincide exactamente con la registrada en Google Cloud Console. Un / de más, un puerto diferente o una mayúscula lo rompe.
El dominio desde el que llamas a la API (localhost:8080 vs localhost:3000) debe estar registrado en "Orígenes de JavaScript autorizados".
Las apps en modo "Testing" solo permiten hasta 100 usuarios registrados como testers. Los demás ven: "Esta aplicación no ha sido verificada".
Si tu servidor devuelve una cabecera CSP que no incluye accounts.google.com, el script de GIS no puede cargarse.
script-src 'self' https://accounts.google.com y frame-src https://accounts.google.com a tu CSP.Extensiones o configuraciones del navegador bloquean la ventana emergente de Google, interrumpiendo el flujo de autenticación.
Safari y Firefox bloquean las cookies de terceros por defecto, y Chrome permite bloquearlas y restringe cada vez más su uso. Algunos flujos OAuth las necesitan para mantener el estado de la sesión.
El Access Token dura ~1 hora. Si no implementas la renovación con Refresh Token, el usuario pierde acceso silenciosamente.
offline_access para obtener Refresh Token y renueva automáticamente antes de que expire.Muchas empresas bloquean accounts.google.com en su red para controlar qué servicios usan los empleados o por políticas de seguridad.
Los colegios filtran el tráfico para evitar distracciones o proteger a menores. Frecuentemente bloquean dominios de Google o solo permiten Google Workspace educativo.
En China, el Great Firewall bloquea completamente todos los servicios de Google. Los usuarios en esos países no pueden usar ningún login con Google.
En la UE (GDPR) y Colombia (Ley 1581), el uso de servicios de terceros como Google Login requiere consentimiento explícito del usuario y declararlo en la política de privacidad.
Personas mayores, usuarios en zonas rurales con conexión inestable o quienes por principio no usan Google no podrán acceder si es el único método.
Nunca hagas del Login con Google tu único método de autenticación. Úsalo como opción adicional junto a login tradicional para garantizar que todos los usuarios puedan acceder.
📚 Diccionario
🎬 Videos
1. Login con Google usando JavaScript — OAuth 2 (en español)
2. ¿Qué es OAuth 2? Explicado en español
3. Autenticación OAuth 2.0 con Google — configuración completa
4. Entendiendo OAuth en 10 minutos — conceptos clave
📝 Cuestionario
10 preguntas aleatorias del banco de 50. Calificación de 0 a 100.
Tu calificación: