Skip to main content
Con la autenticación OAuth 2.0, cada usuario concede permiso de acceso a sus propias Google Sheets. Es la opción adecuada para aplicaciones que manejan datos por usuario.

Casos de uso

  • Aplicaciones centradas en el usuario: cada usuario accede a sus propias Google Sheets.
  • Aplicaciones multi-tenant: usuarios distintos gestionan hojas de cálculo distintas.
  • Acceso a datos personales: lectura y escritura de hojas de cuentas propias del usuario.
  • Aplicaciones de escritorio y web: donde hay interacción con el usuario.

Requisitos previos

  • Un proyecto en Google Cloud Console
  • Google Sheets API y Google Drive API habilitadas
  • Laravel Socialite (recomendado)

Configuración

1

Configura Google Cloud Console

  1. Accede a Google Cloud Console.
  2. Selecciona un proyecto o crea uno nuevo.
  3. Ve a APIs & Services > Library.
  4. Habilita las siguientes APIs:
    • Google Sheets API
    • Google Drive API
2

Crea las credenciales OAuth 2.0

  1. Ve a APIs & Services > Credentials.
  2. Haz clic en Create Credentials > OAuth client ID.
  3. Configura la pantalla de consentimiento OAuth (solo la primera vez):
    • Selecciona el tipo de usuario External.
    • Rellena los campos obligatorios (nombre de la aplicación, correo de soporte, contacto del desarrollador).
    • Añade los scopes: https://www.googleapis.com/auth/spreadsheets y https://www.googleapis.com/auth/drive.
  4. Selecciona el tipo de aplicación Web application.
  5. Añade las URIs de redirección autorizadas:
    • Desarrollo: http://localhost:8000/auth/google/callback
    • Producción: https://yourdomain.com/auth/google/callback
  6. Haz clic en Create.
  7. Copia el Client ID y el Client Secret.
3

Configura el entorno Laravel

Añade al archivo .env:
Actualiza config/google.php:
4

Instala Laravel Socialite

Añade en config/services.php:
5

Implementa el controlador de autenticación

6

Añade las rutas

7

Actualiza el modelo User

Migración:
Modelo User:
8

Usa Sheets

Refresco de tokens

El paquete gestiona automáticamente la caducidad de los tokens:

Middleware

Middleware que exige autenticación con Google:

Seguridad

1. Almacenamiento de tokens

  • Guarda los tokens de forma segura en la base de datos.
  • Usa el cifrado integrado de Laravel.
  • No expongas los tokens al lado cliente.

2. Gestión de scopes

  • Solicita únicamente los scopes mínimos necesarios.
  • Aplica el principio de mínimos privilegios.
  • Explica claramente al usuario los permisos que necesitas.

3. Manejo de errores

  • Gestiona correctamente los tokens caducados.
  • Ofrece un flujo de reautenticación amigable para el usuario.
  • Registra y monitoriza los errores.

Resolución de problemas

Errores frecuentes

Error “redirect_uri_mismatch”
  • Comprueba que la URI de redirección de Google Console coincide exactamente con la de la aplicación.
  • Verifica diferencias entre http y https.
  • Comprueba la barra final.
Errores “invalid_grant” o “unauthorized”
  • El token ha caducado y el refresco ha fallado.
  • Pide al usuario que se autentique de nuevo.
  • Comprueba que existe el refresh token.
Error “access_denied”
  • El usuario ha denegado el permiso.
  • Muestra un mensaje adecuado.
  • Ofrece la opción de volver a intentar la autenticación.

Ruta de test

Última modificación el 13 de julio de 2026