Задать вопрос
@Baxer56

Почему не работает запоминание пользователя Laravel?

Здравствуйте. Делаю небольшой учебный проект на Laravel. Потребовалось сделать нестандартную аутентификацию (на основе токена, а не логин\пароль).
Набросал для теста небольшой код:
Роуты

Route::get('/login',function(){
   Auth::login(User::findOrFail(1),true);
   echo('Login OK');

});

Route::get('/check_u',function(){

    dd(Auth::user());
});
Route::get('/logout',function (){
   Auth::logout();
});



Модель User

<?php

namespace App;



use Illuminate\Notifications\Notifiable;

use Illuminate\Foundation\Auth\User as Authenticatable;

class  User extends Authenticatable
{
    use Notifiable;

    
    protected $user_id;
    protected $f_name;
    protected $l_name;
    protected $auth_token;


}


При переходе по /login - пишет Login Ok, никаких ошибок, но при переходе /check_u - выдает null.
Т.е пользователь просто не аутентифицируется по непонятным причинам.
Но, что самое интересное - если убрать строку echo('Login OK');то все нормально, при переходе на check_u - отдается инстанс User. Облазил весь гугл, но решения так и не нашел. Надеюсь на вашу помощь.

В таблице пользователь есть
59d3fc36c42fc637132296.png
  • Вопрос задан
  • 391 просмотр
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
если убрать строку echo('Login OK');то все нормально

А когда вы возвращаете echo, держу пари, что появляются ошибки headers already sent.

И документацию по сессиям вы еще не смотрели.
Замечание:
Для использования сессий на основе cookie, функция session_start() должна быть вызвана перед выводом чего бы то ни было в браузер.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы