No puedo hacer que Laravel me recuerde la funcionalidad para trabajar.
Agregué la columna de token de recuerdo a mi tabla de modelo de User . Mi modelo User Authenticatable . El modelo de usuario no contiene nada más específico relacionado con la funcionalidad de recordarme
Estoy usando controladores de autenticación y protección predeterminados.
Mi Usercontroller es diferente del predeterminado. Se extiende desde Controller . No utiliza ningún Rasgo. En mi método de inicio de sesión, uso Auth::login($userModelObject, true) para iniciar sesión como usuario. Todo funciona bien. Recordarme token se actualiza en la base de datos. Puedo ver 3 cookies en el navegador XSRF-TOKEN TOKEN, laravel_session , remember_web_59ba36addc2b2f9401580f014c7f58ea4e30989d .
Auth::check() devuelve verdadero como se esperaba, pero si elimino, caduca o laravel_session , en la solicitud posterior, remember_web_59ba36addc2b2f9401580f014c7f58ea4e30989d cookie también se elimina por algún motivo (no puedo verlo usando var_dump($_COOKIE) en solo el software intermedio que apliqué) y creo que es por eso que el controlador Laravel Auth no puede usar la cookie de recordarme para iniciar sesión automáticamente. Framework también aplica automáticamente el middleware CSRF.
¿Qué podría estar causando este comportamiento? ¿Necesito usar algunos rasgos adicionales en mi modelo de usuario o controlador?
Nota: Estoy usando Laravel 5.4 y la configuración de mi sesión es:
'driver' => env('SESSION_DRIVER', 'file'), 'lifetime' => 20, 'expire_on_close' => false, 'encrypt' => false, 'files' => storage_path('framework/sessions'), 'connection' => null, 'table' => 'sessions', 'store' => null, 'lottery' => [2, 100], 'cookie' => 'laravel_session', 'path' => '/', 'domain' => env('SESSION_DOMAIN', null), 'secure' => env('SESSION_SECURE_COOKIE', false), 'http_only' => trueEncontré el problema. Tenía esta \Illuminate\Session\Middleware\AuthenticateSession::class en Kernel.php. Comparé mi proyecto con el nuevo proyecto laravel 5.4 y descubrí que esto está comentado de forma predeterminada. Hice eso y mi problema está solucionado ahora.