Skip to main content

馃幆 Troubleshooting

Esta secci贸n tiene como objetivo ayudar a identificar y resolver los errores m谩s comunes que pueden presentarse durante la integraci贸n de **FusionAuth** con proyectos Laravel mediante el m贸dulo de autenticaci贸n y Socialite Provider.

Antes de revisar errores espec铆ficos, se recomienda validar que se hayan completado correctamente los siguientes puntos:

  1. Instalaci贸n de dependencias mediante Composer.
  2. Configuraci贸n de config/services.php.
  3. Configuraci贸n de variables de entorno en .env.
  4. Registro del provider de Socialite.
  5. Configuraci贸n del modelo User.
  6. Modificaci贸n de la tabla users.
  7. Coincidencia exacta de la URI de callback entre Laravel y FusionAuth.

No redirige al login de FusionAuth

Problema

Al ingresar a la ruta:聽http://${base_url}/autenticacion/login

la aplicaci贸n no redirige al formulario de inicio de sesi贸n de FusionAuth, muestra una pantalla en blanco, error 404 o permanece en la misma p谩gina.

Posibles causas
  • El m贸dulo de autenticaci贸n no est谩 instalado correctamente.
  • Las rutas del m贸dulo no fueron registradas.
  • El proyecto no reconoce el m贸dulo de autenticaci贸n.
  • La URL base del proyecto no corresponde con la URL utilizada en el navegador.
  • El cach茅 de rutas o configuraci贸n de Laravel est谩 desactualizado.

Soluci贸n recomendada

Ejecutar los siguientes comandos dentro del proyecto Laravel:

php artisan optimize:clear
php artisan route:clear
php artisan config:clear
php artisan cache:clear
composer dump-autoload

Despu茅s, validar que la ruta exista ejecutando:

php artisan route:list | grep autenticacion

Se debe verificar que existan rutas relacionadas con:

/autenticacion/login
/autenticacion/callback

Si las rutas no aparecen, revisar que el m贸dulo de autenticaci贸n se encuentre instalado correctamente dentro de la estructura de m贸dulos del proyecto.


Error por URI de callback incorrecta

Problema

FusionAuth muestra un error relacionado con la URL de redirecci贸n o callback.

Puede presentarse como:

Invalid redirect_uri

o

The redirect_uri is not valid
Posibles causas
  • La variable FUSIONAUTH_REDIRECT_URI no coincide exactamente con la configurada en FusionAuth.
  • Se est谩 usando http en lugar de https, o viceversa.
  • La aplicaci贸n tiene un prefijo en la URL y no fue considerado.
  • La variable APP_URL est谩 mal configurada.
  • Hay una diagonal / extra o faltante en la URL.
Soluci贸n recomendada

Validar en el archivo .env:

APP_URL=https://dominio-del-proyecto.gob.mx
FUSIONAUTH_REDIRECT_URI=${APP_URL}/autenticacion/callback

La URI generada debe coincidir exactamente con la configurada en FusionAuth.

Ejemplo:

https://dominio-del-proyecto.gob.mx/autenticacion/callback

Tambi茅n se recomienda limpiar cach茅 de configuraci贸n:

php artisan config:clear
php artisan optimize:clear

Importante: la URI de callback debe coincidir exactamente. Para FusionAuth, http://sistema.gob.mx/callback y https://sistema.gob.mx/callback son rutas diferentes.


Error 500 despu茅s del callback


Problema

El usuario inicia sesi贸n en FusionAuth, pero al regresar a Laravel se muestra un error 500.

Posibles causas
  • Faltan columnas en la tabla users.
  • El modelo User no tiene los campos agregados en $fillable.
  • Los campos data o registration_data no tienen casting como array.
  • La base de datos no acepta valores nulos en campos requeridos.
  • El campo password no permite valores nulos.
  • Error al guardar los tokens de FusionAuth.
  • Soluci贸n recomendada

Validar que la tabla users tenga los siguientes campos:

fusionauth_id
fusionauth_access_token
fusionauth_refresh_token
profile_photo_url
data
registration_data

Validar que el campo password permita valores nulos:

DESCRIBE users;

En el modelo User, revisar que existan los campos en $fillable:

protected $fillable = [
聽 聽 'name',
聽 聽 'email',
聽 聽 'profile_photo_url',
聽 聽 'password',
聽 聽 'fusionauth_id',
聽 聽 'fusionauth_access_token',
聽 聽 'fusionauth_refresh_token',
聽 聽 'data',
聽 聽 'registration_data',
];

Tambi茅n revisar que los campos JSON tengan casting:

protected $casts = [
聽 聽 'data' => 'array',
聽 聽 'registration_data' => 'array',
];

Finalmente, revisar el log de Laravel:

tail -f storage/logs/laravel.log

Error: Class not found

Problema

Laravel muestra un error similar a:

Class "SocialiteProviders\FusionAuth\FusionAuthExtendSocialite" not found

o

Class not found

Posibles causas
  • No se instal贸 correctamente el paquete del provider de FusionAuth.
  • Composer no actualiz贸 el autoload.
  • El provider fue registrado con un namespace incorrecto.
  • El archivo EventServiceProvider.php tiene una referencia mal escrita.
  • Soluci贸n recomendada

Validar que las dependencias est茅n instaladas:

composer show | grep fusionauth
composer show | grep socialite

Regenerar el autoload:

composer dump-autoload
php artisan optimize:clear

Revisar que en app/Providers/EventServiceProvider.php exista la siguiente configuraci贸n:

protected $listen = [
聽 聽 \SocialiteProviders\Manager\SocialiteWasCalled::class => [
聽 聽 聽 聽 \SocialiteProviders\FusionAuth\FusionAuthExtendSocialite::class . '@handle',
聽 聽 ],
];