Я пытаюсь аутентифицировать пользователя через AJAX вызов из login.blade. php в LoginController. php, в функцию authenticate (). Код выглядит следующим образом:
Ax ios код внутри login.blade. php
(function(){
document.querySelector("#loginForm").addEventListener("submit", function(e){
e.preventDefault()
axios.post("login/tos", {
'mail' : document.querySelector('#mail').value,
'password' : document.querySelector('#password').value,
'rememberId' : document.querySelector('#rememberId').value,
})
.then(function(response){
console.log("Success")
console.log(response)
clearError()
location.reload();
})
})
})();
После некоторого логического вычисления приходит к аутентификации ( ) в LoginController. php
public function authenticate(LoginUser $request)
{
$credentials = [
"mail" => $request->mail,
"password" => $request->password
];
echo " |OUTSIDE: ";
echo ((Auth::check()) ? "AUTH TRUE " : "AUTH FALSE ");
if (Auth::attempt($credentials)) {
echo " |INSIDE: ";
echo ((Auth::check()) ? "AUTH TRUE " : "AUTH FALSE ");
$request->session()->regenerate();
return response(['success' => true]);
}
}
Когда я запускаю этот код, страница перезагружается, но пользователь не входит в систему. Однако вывод на консоль перед перезагрузка страницы:
data: "| OUTSIDE: AUTH FALSE | INSIDE: AUTH TRUE"
Итак, я предполагаю, что Auth :: try () работает, но сессия удалена. Как я могу преодолеть эту проблему?
Я новичок в PHP и JS, и у меня ограниченное понимание сессий. Я благодарен за любую помощь, которую я могу получить.