td; dr:我向認證請求發送JSON響應,但會話cookie丟失。Laravel 5.2認證不發送cookie
我使用的登錄方法與Illuminate\Foundation\Auth\AuthenticatesUsers
類似。在我的情況下,呈現它以JSON格式發送並且沒有視圖的響應。這裏是控制器代碼:
class DashboardController extends Controller
{
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
protected $guard = 'web';
public function login(LoginRequest $request)
{
$throttles = $this->isUsingThrottlesLoginsTrait();
if ($throttles && $lockedOut = $this->hasTooManyLoginAttempts($request)) {
$this->fireLockoutEvent($request);
return $this->sendLockoutResponse($request);
}
$credentials = $this->getCredentials($request);
if (Auth::guard($this->getGuard())->attempt($credentials, $request->has('remember'))) {
Auth::user()->incrementLoginCounter();
return $this->handleUserWasAuthenticated($request, $throttles);
}
if ($throttles && ! $lockedOut) {
$this->incrementLoginAttempts($request);
}
return $this->sendFailedLoginResponse($request);
}
}
它與Laravel的特質基本相同。
問題:沒有發送響應的cookie。
這裏是我知道的:
- 用戶表的數據庫中的remember_token列得到正確設置
- 我可以
response()-> ... ->cookie('name', 'value')
- 手動設置cookie手動設置的餅乾正確發送迴應
- 警衛驅動程序設置爲
session
,提供程序設置爲App\User
類 - 會話驅動程序是
file
並且config是默認的laravel config - Web中間件與默認相同,Csrf-Middleware在該端點上關閉。
我希望什麼:最好的情況 - 對於這個問題,或者有什麼我可以測試弄清楚爲什麼它不工作任何的竅門和創意的解決方案。