Всем доброго дня!
Прошу помощи, не могу до конца разобраться.
У меня при переходе на auth\loginController@login бьется 419 ошибка.
Гугление показало, что проблема в csrf и драйвере сессии.
Драйвер сессии я делаю свой (так надо), но я не могу понять, что мне нужно сделать, чтобы все работало? Что возвращать?
Вот драйвер (в частности метод write) :
class sessions implements SessionHandlerInterface {
public function write($sessionId, $data) {
$isSession = $this->read($sessionId) ? true : false;
if(!$isSession) {
$this->model->insert(['id' => $sessionId, 'payload' => serialize(base64_encode($data))]);
return true;
} else {
$x = $this->read($sessionId);
$payload = unserialize(base64_decode($x[0]['payload']));
return $payload['_token'];
// return true;
}
}
}
Вот роуты:
Route::post('/login', 'auth\LoginController@login')->name('mylogin');
Route::get('/loginview', 'auth\LoginController@loginview')->name('myloginget');
Route::group(['middleware' => ['custom']], function(){
Route::get('/sess', 'testController@sess');
Route::get('/midd', 'testController@midd')->name('midd');
Route::get('/filemanager', 'filemanagController@toView')->name('filemanager');
});
Вот мой middleware:
public function handle($request, Closure $next) {
if(Auth::check()) {
return $next($request);
} else {
return redirect()->route('myloginget');
}
}
Не могу до конца уловить, что я упускаю.
P.S.
Просьба камнями не кидаться