Asked Jul 14th, 2:01 AM 119 0 1
  • 119 0 1
+1

Cookie trong Laravel

Share
  • 119 0 1

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


Answered Jul 14th, 2:32 AM
Accepted
+3

để 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)

set_cookie_block_bad_domain_att_vs_current_host_url.png

Share
Avatar Hoang Bich @bichht-0889
Jul 14th, 2:46 AM

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 😃)

+1
| Reply
Share
Avatar Mai Trung Đức @maitrungduc1410
Jul 14th, 3:19 AM

@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

+1
| Reply
Share
Avatar Hoang Bich @bichht-0889
Jul 14th, 4:23 AM

@maitrungduc1410 Cảm ơn nhé, mình đã tắt Secure và chạy ngon lành rồi

+1
| Reply
Share
Avatar Mai Trung Đức @maitrungduc1410
Jul 14th, 5:22 AM

@bichht-0889 okie bạn

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.