Tôi có một tình huống kỳ lạ với máy chủ NodeJS của mình: có vẻ như việc tìm kiếm trang web trên Google đăng xuất người dùng.
trang chủ là https://emocoes.org/pt/inicio
. Tôi đăng nhập vào trang web và trang chủ hiển thị phiên bản cho người dùng, chẳng hạn như nút "Danh sách nội dung".
Tôi mở một tab mới, tìm kiếm trang web trên Google và nhấp vào liên kết. Bây giờ trang chủ không còn hiển thị phiên bản cho người dùng. Như thể tôi đã đăng xuất. Khi tôi làm mới tab đầu tiên với phiên bản dành cho thành viên của trang chủ, nó cũng hiển thị phiên bản công khai. Tôi đã kiểm tra rằng cookie cho phiên trong cửa hàng phiên vẫn tồn tại.
URL từ truy vấn Google là:
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjC2J3D65H4AhX5Q_EDHRpnCvoQFnoECAYQAQ&url=https%3A%2F%2Femocoes.org%2Fpt%2Finicio&usg=AOvVaw15-Ef6gAH7
Tôi không thấy bất kỳ vấn đề trong liên kết này.
Tôi đã thêm dấu vết này vào lộ trình của máy chủ cho trang chủ:
router.get("/pt/inicio", async (req, res) => {
console.log("URL = %o", req. originalUrl);
console.log("query = %o", req.query);
console.log("Người dùng = %o", req.user);
// Kết quả sau URL Google là:
//[2022-06-03T17:40:21.308Z] URL = '/pt/inicio'
//[2022-06-03T17:40:21.308Z] truy vấn = {}
//[2022-06-03T17:40:21.309Z] Người dùng = không xác định
...
});
Vì phiên tồn tại trong cửa hàng MongoDB nên việc nhấp vào liên kết Google sẽ xóa cookie trong trình duyệt. Tôi có Safari trên macOS nhưng điều tương tự cũng xảy ra với một người dùng khác trên Windows và Google Chrome.
Làm thế nào tôi có thể gỡ lỗi vấn đề này?