TDD
deep-jade
[Javascript] เจอปัญหาในการฝึกเขียน express.js ครับ
ผมกำลังฝึกเขียน การล็อกอินครับ เจอปัญหาก็คือเมื่อผู้ใช้งานล็อกอินสำเร็จ(username,password ถูกต้อง) ปัญหาคือ console.log(req.isAuthenticate()) ใน เราท์ "/login" แสดงค่าเป็น true แต่ ใน route "/checklogin" แสดงค่า false ครับ

21 Replies
deep-jadeOP•11mo ago
อันนี้เป็นโค้ดที่ใช้run serverนะครับไฟล์ server.js
deep-jadeOP•11mo ago
deep-jadeOP•11mo ago
ปัญหาคือเมื่อผู้ใช้งาน login ผ่าน (username,password)ถูกต้อง console.log(req.isAuthenticated()) ใน เราท์ "/login" แสดงค่าเป็น true แต่ในเราท์ "/checklogin" แสดงค่าเป็น false อยากทราบเพราะอะไรครับ
ในความเข้าใจของผมก็คือเมื่อ เราท์ "/login" ทำงานได้ถูกต้องไม่มี error แสดงว่า ผู้ใช้งานนั้นๆ loginเข้าสู่ระบบได้แล้ว เมื่อ เช็คด้วย req.isAuthenticated() มันควรจะมีค่าเป็น true ไหมครับ เพราะตัว cookie connect.sid ก็ถูกสร้างขึ้นหลังจากผ่านการ login แล้วครับ
สอบถามหน่อยครับ ตอนรันมีอะไรเกิดขึ้รไหมครับ แบบ error ต่างๆ ลองส่งมาได้ไหมครับ เผื่อจะหาต้นตอได้ครับ
extended-yellow•11mo ago
น่าจะต้องใส่ passport.authenticate('local') ที่ /checklogin ครับ
deep-jadeOP•11mo ago
พอใส่แล้วลอง fetch ดู บราวเซอร์มันตอบกลับมา Bad request ครับ
optimistic-gold•11mo ago
ลอง gpt รึยังคับ
deep-jadeOP•11mo ago
ไม่มี error ครับ แต่คิดว่าสาเหตุน่าจะเป็นเพราะ มี 2 serverครับ คือหน้าบ้าน port 3000 หลังบ้าน port 5000 ทีนี้ผมเก็บ session เป็นแบบคุกกี้ครับ session มันเลยไม่เห็นกัน ประมาณว่า เรา login ที่ port 5000
แต่เราเรียกใช้ข้อมูลที่ browser รันที่ port 3000
session ที่อยู่ใน server เลยไม่เห็นกันครับ
ลองแล้วครับ ถามรอบแรกๆเหมือนจะดีครับแต่พอถามไปถามมาแก้ไปแก้มาดันออกทะเลซะงั้นครับ
optimistic-gold•11mo ago
ขอดูโค้ด login fontent
end
fetch หรือ axios
deep-jadeOP•11mo ago
ใช้ fetch ครับ หน้าบ้านเป็น html+tailwindcss+javascript ครับ
optimistic-gold•11mo ago
เพิ่มพวกนี้เข้า
ตรง fetch login, check session
optimistic-gold•11mo ago
ละเอาไฟล์พวกนี้ลองดู
ai มา
ได้บ่คับ @pangpondKub
deep-jadeOP•11mo ago
ผมลบโค้ดเดิมไปแล้วครับ สาเหตุน่าจะมาจาหในส่วนนี้ครับ
กะว่าจะโล๊ะเขียนใหม่เลยครับ
optimistic-gold•11mo ago
ม่าเกี่ยวนะ
ผมเขียน React api ต่างๆ fastapi python
รันแยก 2 port เทสบนเครื่องได้ปกติ
ผมไม่แน่ใจเหมือนกันเพราะไม่ได้สายนี้โดยตรง
ยังไงลองดูละปรึกษากันก่อได้คับ
deep-jadeOP•11mo ago
ได้ครับ คิดว่าไอที่ผมกำลังจะเขียนใหม่เดี๋ยวมีErrorมาแชร์ให้ช่วยแน่นอนครับ555 ขอบคุณทุกๆท่านมากเลยครับ
optimistic-gold•11mo ago
คับบ
ตอนนี้สามารถแก้ได้รึยังครับผม
deep-jadeOP•11mo ago
ไม่เชิงว่าแก้ได้ครับ แต่เปลี่ยนไปใช้ jwt แทน cookie ครับ ขอบคุณมากๆครับ
โอเคครับผม ขออนุญาตปิดโพสต์นะครับ
conscious-sapphire•11mo ago
🔒 โพสต์ถูกล็อคแล้ว
โพสต์นี้ถูกตั้งสถานะว่า
แก้ไขเรียบร้อยแล้ว หากมีคำถามเพิ่มเติม กรุณาทำการโพสต์ใหม่ได้ที่หมวดหมู่ <#1236768988663644261>