Странная проблема. Авторизую пользователя через AJAX:
\Auth::attempt([
'username' => $login,
'password' => $password
], $remember);
Далее сразу же проверяю авторизованного пользователя и возвращаю результат проверки:
if (\Auth::user()) $result = 'Вошел';
else $result = 'Не вошел';
Если все введено правильно, то, как и требуется, результат положительный. Если ввожу логин или пароль неверно, то браузеру возвращается фраза "Не вошел".
Только вот проблема: почему-то после перезагрузки страницы пользователь оказывается не авторизованным. Это очень странно, возможно, кто-нибудь знает, в чем может быть проблема? Модель пользователя:
namespace App\Models;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
use Authenticatable, CanResetPassword;
protected $table = 'users';
protected $hidden = ['id', 'password', 'remember_token'];
protected $fillable = ['username', 'email', 'password'];
}
Функция контроллера, отвечающая за AJAX-выполнение входа:
if ($request->ajax()) {
$params = $request->input('params');
} else exit();
$result = \Auth::attempt([
'username' => $params['login'],
'password' => $params['password']
], $params['remember']);
if (\Auth::user()) $result = 'Вошел';
else $result = 'Не вошел';
echo json_encode($result);