2016-01-10 1 views
2

Я использую Laravel 5.2 и я хочу, чтобы создать REST API (просто, логин) и у меня есть этот код:Laravel печенье не работает после почтовых данных

Route::get('/login', function() { 
    dd(Cookie::get('token')); 
}); 

Route::post('/login', function() { 
    $name = Request::get('login'); 
    $password = Request::get('password'); 
    if (!empty($name) && !empty($password)) { 
     $user = App\User::where('name',$name)->first(); 
     if ($user) 
     { 
      if ($user->password === sha1($user->salt . $password)) 
      { 
       $tokenCookie = Cookie::queue('token',sha1($user->name),10); 
       return Response::make()->withCookie($tokenCookie); 
      } else { 
       echo 'nieprawidłowe hasło'; 
      } 
     } else { 
      echo 'brak konta w bazie danych'; 
     } 
    } else { 
     return 'brak danych'; 
    } 
}); 

и проблема в том, печенье Безразлично» т работы. Я имею в виду, что после отправки POST-информации все работает нормально (у меня нет никакого эха, так что все должно быть хорошо), но когда я перехожу на страницу/login, у меня есть «нулевой» ответ. Похоже, что файлы cookie не установлены. Помогите?

ответ

2

Поскольку вы используете Laravel 5.2, вам необходимо убедиться в том, что любые маршруты, которые используют информацию о сеансе (например, файлы cookie), находятся внутри группы промежуточного программного обеспечения web.

Route::group(['middleware' => ['web']], function() { 
    Route::get('/login', function() { 
     // code 
    }); 

    Route::post('/login', function() { 
     // code 
    }); 
});