我正在使用laravel 5.2,我想创建REST api(简单,只需登录),我有这个代码:
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';
}
});
问题是cookie没有用。我的意思是在我发送POST信息之后一切正常(我没有任何回声,所以它应该没问题)但是当我进入/登录页面时,我有' null'响应。看起来好像没有设置cookie。帮助
答案 0 :(得分:2)
由于您使用的是Laravel 5.2,因此您需要确保所有需要使用会话信息的路由(例如cookie)都在web
中间件组内。
Route::group(['middleware' => ['web']], function () {
Route::get('/login', function() {
// code
});
Route::post('/login', function () {
// code
});
});