The problem is with your sessions, which is always hard to understand. In oAuth2, you can provide the state parameter when sending the user for authentication, then it is sent back with the user to your application after authentication.
Socialite puts a random string in the session and this state parameter and checks that it contains the same value when the user returns.
See lines 134 and 212. https://github.com/laravel/socialite/blob/e04ab0bb972662fc72708dfd4eef35200965cca1/src/Two/AbstractProvider.php#L134
There are several solutions you can try ...
Firstly, you can only log in with your username and password instead of google oauth?
Verify that your config/session.php domain is set correctly and that the https parameter is set only to true if you are using HTTPS. If the https option is enabled, sessions will be established only when access to the site is through. Https
'domain' => 'example.com',
If you use subdomains in your application, add . to the beginning of your domain in the session configuration. This will allow the session to migrate to all subdomains.
'domain' => '.example.com',
When you go to your google account, you should see the state parameter in the URL, check this status, also returning when you return to your application.
You can also try clearing browser cookies and cache (or using an incognito window), which ensures that there are no conflicts between your previous tests / existing cookies.
You can also try reinstalling your dependencies by deleting the /vendor folder again and running composer install . This for me in the past solved problems with sessions for unknown reasons.