ฉันมีสถานการณ์ที่น่าสงสัยกับเซิร์ฟเวอร์ NodeJS ของฉัน: ดูเหมือนว่าการค้นหาเว็บไซต์บน Google จะออกจากระบบผู้ใช้
หน้าแรกคือ https://emocoes.org/pt/inicio
. ฉันลงชื่อเข้าใช้เว็บไซต์และหน้าแรกแสดงเวอร์ชันสำหรับผู้ใช้ เช่น ปุ่ม "รายการเนื้อหา"
ฉันเปิดแท็บใหม่ ค้นหาเว็บไซต์บน Google แล้วคลิกลิงก์ ตอนนี้หน้าแรกไม่แสดงเวอร์ชันสำหรับผู้ใช้อีกต่อไป มันเหมือนกับว่าฉันได้ออกจากระบบ เมื่อฉันรีเฟรชแท็บแรกด้วยหน้าแรกเวอร์ชันสมาชิก แท็บนั้นจะแสดงเวอร์ชันสาธารณะด้วย ฉันตรวจสอบว่าคุกกี้สำหรับเซสชันในที่เก็บเซสชันยังคงมีอยู่
URL จากข้อความค้นหาของ Google คือ:
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-Ef1HgpC79
ฉันไม่เห็นปัญหาใด ๆ ในลิงค์นี้
ฉันเพิ่มการติดตามนี้ในเส้นทางของเซิร์ฟเวอร์สำหรับหน้าแรก:
router.get("/pt/inicio", async (req, res) => {
console.log("URL = %o", req.originalUrl);
console.log("แบบสอบถาม = %o", req.query);
console.log("ผู้ใช้ = %o", req.user);
// ผลลัพธ์หลังจาก URL ของ Google คือ:
//[2022-06-03T17:40:21.308Z] URL = '/pt/inicio'
//[2022-06-03T17:40:21.308Z] ข้อความค้นหา = {}
//[2022-06-03T17:40:21.309Z] ผู้ใช้ = ไม่ได้กำหนด
...
});
เนื่องจากเซสชันมีอยู่ใน MongoDB store จึงเหมือนกับว่าการคลิกลิงก์ Google จะลบคุกกี้ในเบราว์เซอร์ ฉันมี Safari บน macOS แต่สิ่งเดียวกันนี้เกิดขึ้นกับผู้ใช้รายอื่นบน Windows และ Google Chrome
ฉันจะแก้ไขปัญหานี้ได้อย่างไร