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
Configura Google Cloud Console
- Accede a Google Cloud Console.
- Selecciona un proyecto o crea uno nuevo.
- Ve a APIs & Services > Library.
- Habilita las siguientes APIs:
- Google Sheets API
- Google Drive API
Crea las credenciales OAuth 2.0
- Ve a APIs & Services > Credentials.
- Haz clic en Create Credentials > OAuth client ID.
- 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/spreadsheetsyhttps://www.googleapis.com/auth/drive.
- Selecciona el tipo de aplicación Web application.
- Añade las URIs de redirección autorizadas:
- Desarrollo:
http://localhost:8000/auth/google/callback - Producción:
https://yourdomain.com/auth/google/callback
- Desarrollo:
- Haz clic en Create.
- Copia el Client ID y el Client Secret.
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.
- El token ha caducado y el refresco ha fallado.
- Pide al usuario que se autentique de nuevo.
- Comprueba que existe el refresh token.
- El usuario ha denegado el permiso.
- Muestra un mensaje adecuado.
- Ofrece la opción de volver a intentar la autenticación.