Cookie trong Laravel
Xin chào mọi người, Mình đang làm chức năng login trên Laravel, và muốn lưu access token vào cookie (Nghe bảo cách này an toàn hơn lưu vào localStorage). Mình có gửi kèm cookie vào response như thế này:
return response()->json([
'status_code' => 200,
'token_type' => 'Bearer',
])->withCookie(cookie( 'login', $tokenResult, $minutes, '/', NULL, TRUE, TRUE ));
Thì trên localhost thấy cookie được lưu lại trong browser rồi. Sau đó mình có up code lên EC2 thì cookie không còn được lưu lại vào browser nữa. Mình không biết nguyên nhân là gì, rất mong mọi người giúp đỡ. Mình xin cảm ơn ạ.
1 ANSWERS
để debug lý do vì sao, tại trang web nơi bạn đã deploy trên EC2, bạn mở Inspect trên trình duyệt. tiến hành login, quan sát request gọi tới server để login, ở response phần headers sẽ có set-cookie
, khả năng rất cao có lỗi ở đó nên browser nó sẽ ko lưu lại cookie sau khi bạn login (chú ý icon warning màu vàng ở cùng dòng với set-cookie
, hover vào đó nó sẽ nói cho bạn lý do vì sao cookie ko đc lưu lại)
Cảm ơn bạn, giờ thì mình biết lỗi do đâu rồi. 'This Set-Cookie was blocked because it had the "Secure" attribute but was not received over a secure connection.' Biết được lỗi sẽ đi gg dễ hơn, cảm ơn bạn lần nữa, mình mò mãi không biết vì sao )
@bichht-0889 oke bạn nhé . Lỗi của bạn là cookie có thuộc tính Secure, nhưng web của bạn đang không được chạy dưới HTTPS
@maitrungduc1410 Cảm ơn nhé, mình đã tắt Secure và chạy ngon lành rồi
@bichht-0889 okie bạn