Dar*_*Lau 0 php cookies session laravel laravel-5
之前,在我更改session.php中的domian之前,我的Auth :: login()工作正常,它将保留cookie,因此他们无需再次登录。当我的一些朋友告诉我,当他们单击登录(来自Facebook)时,它将以某种方式在AbstractProvider.php中返回InvalidStateException。
我在Google周围搜索,知道cookie可能引起某些问题,解决方案是将session.php中的域从null更改为我的域(例如myapps.com)。
当我更改为myapps.com之后,invalidstateException将不再发生,但不会继续我的登录。6到12个小时后,它要求我再次登录。
下面是我的代码(我相信在更改会话之后,我的代码是正确的,并且登录将不再持久)。
$UserLogin = User::where('facebook_id', '=', $user->getId())->first();
Auth::login($UserLogin, true);
Run Code Online (Sandbox Code Playgroud)
核心问题是您的浏览器存储来自多个域的两个cookie,这些cookie具有相同的cookie名称,即laravel_session; 当您发出请求时,两个同名的cookie都将发送到服务器。
在您的config/session.php:
//change this
'cookie' => 'laravel_session'
//and this
'domain' => 'my_domain'
Run Code Online (Sandbox Code Playgroud)
通过更改cookieand 的名称domain,可以通过使用新名称存储新的cookie来解决此问题。