Laravel automatically logged out after few seconds?
Now I'm not 100% sure (and depending on your set-up I can't even say I'm 90% sure) But after changing my session_driver
from file
to database
I seem to have fixed this issue - that is if it's the same issue.
I think do the samething as you with my app - that is on a start up of a page, I'm making 6 request (this is development and I will be changing it to one so please don't cry). If I load this page, it works with about 3 or 4 request, then the other 2-3 come back with a unauthorised
response. It also only happens on request that require middleware => auth
.
So here's my theory to why this is happening: Because, by default, sessions are saved in a file - making multiple requests at once means that file is being opened 6 times at once - probably messing it up (depending on your machine). Therefore changing the session to a database, which is designed to have thousands of requests at once, works!
SOLUTION:
- Go to your
.env
file and changeSESSION_DRIVER=file
toSESSION_DRIVER=database
. - Next you will need to create a session migration:
php artisan session:table
. - Now
composer dump-autoload
for good practice. - Finally migrate (
php artisan migrate
).
NOTE: I'm not 100% sure though if this is the case, but for me this solution worked. I am also aware that this question is really old, but both the developers I work with and myself have had this issue and there doesn't seem to be a solution, so Just though I'd post this.
It may be a problem that you are accessing the user variable illegally. Please use Auth::check()
before accessing Auth::user()
This seems to work for my project. Optionally you can try for changing the session driver from .env file.
Managed to figure it out.. Since i use laravel for pretty much all my projects, I forgot to change the session name, as a result, one session was overwriting the other, causing the auto-loggout.. So if you have multiple laravel projects running, make sure they all have different session names. Hope this helps someone in future ! Here is a Laracast thread on this issue.
For me this was the process to solve the problem:
- Cleared my browser's cookies for localhost.
- Changed value of
cookie
key inapp/session.php
. - Ran
php artisan config:clear
.